Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

パスを通す!仕組・手順と失敗・解決策

$
0
0

はじめに

「パスを通す」仕組みと手順について解説します。パスを通す方法だけを知りたい方は、「2.②パスを通す方法」を見てください。

【使用している環境】
・ターミナル.app / bash
 ( iTerm2 / zsh )
・PC:Mac

目次

1.そもそもパスを通すってどういうこと?何のためにするの?
2.パスの通し方
  (1)設定ファイルについて
  (2)パスを通す方法("vim"を使う方法)
  (3)パスを通す方法(ファイルに直接入力する方法)
    ※"vim"を使ってパスを通せた場合、見る必要はありません。
  (4)パスが通っているか確認してみよう
3.パスが通らない!困った時の対処法(私が失敗したこと)
  (1)毎回sourceコマンドを打たないと、パスが反映されない!
   ・iTerm2の設定でハマっていた・・・。
  (2)"export $PAtH"をターミナル上でしても、ログアウトすると消えてしまう!
    ・ターミナル上で”export $PATH”を実行してパスが通せた気になっていた件・・・。
4.まとめ
5.参考資料・リンク
・新Linux/Unix入門(第3版)  Softbank Creative
Qiita「Mac / Linuxの「locate」コマンドで高速ファイル検索|「find」コマンドとの違いから「mdfind」の紹介まで」
Qiitachmod? chown? よくわからんって人のための、ファイル権限系まとめ


1.そもそもパスを通すってどういうこと?何のためにするの?

-パスを通すって何?
設定ファイルにパスの記載をすることによって、アプリケーションの実行ファイルの場所をターミナルに教えてあげる作業です。

-具体的にどうなるの?
パスを通すと、インストールされたプログラムをターミナルから簡単に起動することができるようになります。
(例えばjavaScriptなら、"jsc"というコマンドのみでjavaScriptの実行ファイルを起動できます。パスを通してなくても、ターミナル上で動かすことは可能ですが、毎回”/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc”とかするのは面倒ですよね・・・。)

2.パスの通し方

(1)設定ファイルについて

ターミナルは、以下の設定ファイルを読み込んで、実行ファイルの場所を判断しています。(以下の参照ファイルについては、"bash"を"zsh"に置き換えても同じです。)
一時起動シェルの場合は".bashrc"だけが実行されるので、ログインシェルと一時起動シェル共通で実行される".bashrc"に設定をしてみましょう!

・使用するシェルが、ログインシェルのときに参照される設定ファイル
 <設定ファイル名(実行順)>
①/etc/profile(あれば)
②.bash_profile ※②のなかで".bashrc"が呼び出される。
.bash_login
.profile
③.bash_logout(あれば)


《ちなみに・・・設定ファイルはどこにある?》
ファイルの場所は、”mdfind”コマンドを使って探すことができます。
例えば、ターミナルで以下のコマンドを実行してみてください。
$ mdfind .bashrc

<コマンドの内容を知りたい方はこちら>
Qiita「Mac / Linuxの「locate」コマンドで高速ファイル検索|「find」コマンドとの違いから「mdfind」の紹介まで」


※隠しファイルになっているので、標準の設定ではファインダー(フォルダ)にはたぶん表示されていません。隠しファイルを表示したいときは、以下のコマンドを実行してください。
 ・隠しファイルを表示する設定
 $ defaults write com.apple.finder AppleShowAllFiles TRUE
 ・設定を反映させるためにファインダーを一旦切ります。
 $ killall Finder

(2)パスを通す方法("vim"を使う方法)

設定ファイルに、「export $PATH="(実行ファイルのあるフォルダ名)"」を記載します。
ファイルはロックされており、root権限でファイルを上書きする必要があるので、rootになってから"vim"を実行してみましょう。


【手順】

①rootになる"su"コマンドを実行
→パスワードを要求されるので入力すると、root権限となります。
$ su

②ファイルの内容を書き換える”vim"コマンドを実行
以下のコマンドをターミナルに打ってみましょう。
$ vim .bashrc

すると、ファイルの内容が表示されます。
そこで、"i"を押すと、テキスト挿入モードになるので、「export $PATH="フォルダ名"」を入力してください。※もとからあるテキストを消さないように気をつけてください。

 <設定ファイルに記載するテキスト>
 $ export $PATH="実行ファイルのあるフォルダ名"
 ※実行ファイルのあるフォルダ名は、"mdfind"で探せます。
 $ mdfind (実行ファイル名)
 の結果をコピペしましょう。


終了するには、まず"esc"ボタン、次に":w(上書き)"ボタン、最後に":q!(終了)"ボタンを押します。すると、通常のターミナルの画面に戻ります。

※vim実行後は、権限をユーザーに戻しておきましょう
$ su (ユーザー名)
とします。

(3)パスを通す方法(ファイルに直接入力する方法)

ファイルが上書きできる状態であれば、ファイルを開いて、「(2)パスを通す方法("vim"を使う方法)」と同じ様に以下の内容を入力すれば大丈夫です。
$ export $PATH="(実行したいファイル名)"

-設定ファイルの場所や隠しファイルを表示させる方法は、「(1)設定ファイルについて」を参照してください。

-あと、初期設定だと書き込みの権限がないと思うので、書き込みの権限をユーザーに与えるために、"chmod"コマンドを使うといいでしょう。以下の記事を参考にしてみてください。
Qiitachmod? chown? よくわからんって人のための、ファイル権限系まとめ

(4)パスが通っているか確認してみよう

確認はテキストを表示させる"echo"コマンドでできます。
$ echo $PATH
としてみてください。設定したフォルダが表示されていれば完了です。
※PATHは大文字で入力してください。シェルによっては、小文字で打った場合に内容が表示されません。

もしくは、目的のファイルを起動させたり
以下のようにターミナルに打ってバージョンが表示されるかを見てもいいでしょう。
$ (実行ファイル名) -v(もしくは"--version")

3.パスが通らない!困ったときの対処法

(1)毎回"source"しないと、パスが反映されない!

設定ファイルにパスが書いてあるのに、反映されない時は、シェルが一時起動シェルではないか確認してください。(一時起動シェルの場合は、".bashrc"しか実行されません。)
ここで気をつけたいのが、起動したときに立ち上がるシェル=ログインシェルではないことです。iTerm2に切り替えた時に、ハマりました・・・。
ログインシェルの環境設定を開いて、CommandのところのLogin shellにチェックを打たないといけなかったみたいです。
iterm2.png

(2)"export $PAtH"をターミナル上でしても、ログアウトすると消えてしまう!

ターミナル上での"export $PATH"が一時的なものだと知りませんでした・・・。次回起動時からもパスを反映させたいときは、設定ファイルに書き込みましょう。

4.まとめ

環境構築とかでつまづいて、ネットとか見まくっても、思ったとおりのトピックが見つけられなかったり、内容が難しすぎてわからないということがあったので、プログラミング初心者として、なかなかわからなかったことや困ったことを書いてみました。読んでいただいてありがとうございます。

5.参考資料・リンク

・新Linux/Unix入門(第3版)  Softbank Creative
Qiita「Mac / Linuxの「locate」コマンドで高速ファイル検索|「find」コマンドとの違いから「mdfind」の紹介まで」
Qiitachmod? chown? よくわからんって人のための、ファイル権限系まとめ


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>