質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Q&A

解決済

2回答

6932閲覧

zshにPATHを通したい

Shuuuuu

総合スコア16

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

0グッド

1クリップ

投稿2020/02/12 14:12

前提・達成したいこと
zshにPATHを通したい。

発生している問題
laravelのパスを通すために下記のコードを打ち

export PATH="$PATH:$HOME/.composer/vendor/bin"

そして、下記のコードを実行しました。

 source ~/.zshrc

image1
私が調べたところ、本来ならここでターミナルを再起動した場合保存されているはずです。
しかし、下記の画像のように、再度ターミナルを再起動してPATHを表示しても保存された様子がありません。
image2

たぶん、zshrcのファイルがなくて保存されていないのだろうと仮定しています
しかし、zshrcのファイルというのは勝手に作っていいものなのか、保存場所はどこなのかがわかりません。

ターミナルに関してはQiitaにあるコマンドをコピペしているくらい無知なのでどのようにしたらPATHが通るの全くわからない状況です。
わかりにくい点や必要な情報があれば追記します。
お手数だと思いますが、質問に答えていただけると助かります。
よろしくおねがいします。

試したこと
つい最近、bashからzshに変更しました。ただターミナルをbashからzshに変えました。細かい設定はしていません。
(bashのときも、PATHが登録されていませんでした。)
その後、 homebrewからzshがインストールできることを知りhomebrewのzshを使用しています。
zshのフレームワークpreztoを利用するにあたって、いろいろ適当にファイルを消してしまった可能性もあります。

補足情報
MacOS
homebrew zsh

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2020/02/12 14:23

実行結果を画像で載せるのはやめてください。 テキストでコピペしてください。
hoshi-takanori

2020/02/12 15:50

zshrc のファイルはすでに存在し、場所は ~/.zshrc です。コマンドラインで PATH を変更しても効果は一時的なので、永続的な変更を行うには ~/.zshrc を更新する必要があります。
Shuuuuu

2020/02/13 06:09

私としては見やすいかなと思い画像を挿入したのですが、具体的にどうしてだめなのでしょうか? テキストで書いたほうが、返信する方がやりやすいのでしょうか?
otn

2020/02/13 06:45 編集

・見にくい ・コピペできない ・バックスラッシュと円記号など見た目が同じ字が判別できない ・全角半角の判断が困難な物も。特に空白 というデメリットがあります。
Shuuuuu

2020/02/13 07:24

そうなんですか。。気づかなかったです。 空白などはとてもわかりにくいですね。 注意ありがとうございます。これからはきをつけます。
guest

回答2

0

ベストアンサー

export PATH="$PATH:$HOME/.composer/vendor/bin"

これを普通に実行した場合、その効果は実行したシェルに対してのみ(つまり、別のターミナルでは無効)です。
他のシェルでも有効にしたい場合、zsh の設定ファイル zshrc に書く必要があります。

で、その zshrc の場所ですが、

source ~/.zshrc

この ~/.zshrc です。ちなみに source というのは指定した設定ファイルを読み直すという意味で、たぶんこの設定ファイルの中で PATH を設定し直してるんだと思います。

問題は ~/.zshrc の意味ですが、まず ~ はホームディレクトリを意味します。たとえば

cd ~

を実行するとホームディレクトリに移動します。(引数のない cd コマンドと同じ結果になります。)

次に .zshrc ですが、これはその通りのファイル名です。ここで注意したいのが、普通の ls コマンド

ls

では、.zshrc を含め、. で始まるファイル名のものは出てきません。が、-a オプションをつけて

ls -a

とすると、見たことのないファイルがたくさん出てきて、その中に .zshrc もあると思います。(ホームディレクトリで実行してください。)

あとはこの ~/.zshrc を編集して、新しい設定を有効にする(source ~/.zshrc を実行する)だけです。


ところで、「Qiitaにあるコマンドをコピペしている」とのことですが、ターミナルのコマンドは ~." など、一文字一文字意味があります。有害なコマンド(ファイルを全部消すとか)が書いてあるかも知れませんし、そうじゃなくても古かったり環境が違ったりして動かないかも知れません。ので、少しお勉強して、ちゃんとコマンドの意味を理解して実行するようになることをお勧めします。

投稿2020/02/12 17:17

hoshi-takanori

総合スコア7901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shuuuuu

2020/02/14 02:18

返信遅れて申し訳ございません。 zshにて、下記のコマンドを実行しホームディレクトリに移動しました。 ``` cd ~ ``` 次に、下記のコマンドを実行しました。 ``` ls -a ```  表示されたリストの中に .zshrc がありました。 ファイルを編集するために,下記のコマンドを実行しました。 ``` open .zshrc ``` 下記はzshrcファイルの中身です ~~zshrc~~ # Executes commands at the start of an interactive session. # # Authors: # Sorin Ionescu <sorin.ionescu@gmail.com> # # Source Prezto. if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" fi # Customize to your needs... ~~~~ ここで質問があります。 このファイルに #enviroment paths以下のように記述し ``` source ~/.zshrc ``` を実行すればいいのでしょうか? ~~zshrc~~ # Executes commands at the start of an interactive session. # # Authors: # Sorin Ionescu <sorin.ionescu@gmail.com> # # Source Prezto. if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" fi # Customize to your needs... # environment paths export PATH="$PATH:$HOME/.composer/vendor/bin" ~~~~ ーーーーーーーーーー 流石にターミナルの知識がなさすぎると思ったので 最近本を書い勉強しております。 ご忠告ありがとうございます!
hoshi-takanori

2020/02/14 05:22

はい、その通りです。頑張ってください。
guest

0

引用符をとったらどうなりますか?

export PATH=$PATH:$HOME/.composer/vendor/bin

投稿2020/02/12 14:21

technocore

総合スコア7337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/02/12 17:24

もともとの $PATH にスペースや特別な記号が含まれているとおかしくなる可能性があるので、引用符はあったほうがいいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問