PATH環境変数にパスを追加するにはどうすればよいですか?


11

PATH環境変数へのパスを追加したいですか?

私は試してみましたがexport PATH=/mypath:$PATH、うまくいきます。しかし、次にターミナルを起動したとき、私の新しいパスはPATH環境変数にもう含まれていません。

PATH環境変数にパスを追加するにはどうすればよいですか?次回ターミナルを起動したときにもそこにあるはずです。


私は再びこれで問題を抱えています、以前は機能していたトリックはもう機能しないようです。

私は試しました:

echo 'export GRADLE_HOME=/Users/jonas/gradle-1.2/' >> ~/.profile
echo 'export PATH=GRADLE_HOME/bin:$PATH' >> ~/.profile

2つの環境変数を追加します。それから私の~/.profileファイルはこの内容を持っています:

export GRADLE_HOME=/Users/jonas/gradle-1.2/
export PATH=GRADLE_HOME/bin:$PATH

しかし、新しいターミナルウィンドウを開始してgradle(追加したコマンドPATH)と入力すると、コマンドが存在しないというメッセージが表示されます。それからコマンドを実行すると、/Users/jonas/gradle-1.2/binうまくいきます!


何かが
おかしくなっ

1
PATH(2番目のエクスポート)への割り当ては、$ GRADLE_HOME
nohillsideを使用する

回答:


5

echo 'export PATH=/my/path:$PATH' >> ~/.bash_profile トリックを行う必要があります!

echo 'export PATH=/my/path:$PATH' > ~/.bash_profile、またはそのようなバリエーションを使用した場合、プロファイルの内容が上書きされます。


9

OSXは、ターミナルが開いたときに次のファイルを順番に読み取ります。

/etc/profile
~/.bash_profile
~/.bash_login   
~/.profile     

したがって、パスの追加をこれらのいずれかに配置します。私は通常追加を入れます~/.bash_profile


2
おかげで、私は使用しましたecho 'export PATH=/mypath:$PATH' >> ~/.profile
ジョナス

3

@RobZolkosによって言及された場所に加えて、ログインシェルは/etc/paths内部とファイルも調べます/etc/paths.d/。これらのファイルの行ごとに1つのパスエントリ。

/etc/profileとのマニュアルページを参照してくださいpath_helper


わかりました、ありがとう!しかし、最大の問題は、パスを追加する方法でした。しかし、私は見つけましたecho 'export PATH=/mypath:$PATH' >> ~/.profile
ジョナス

@ジョナス:私はあなたの問題が解決されたことに気づきました。私の回答は将来の読者のために用意されたもので、利用可能なすべてのオプションを見ることができます。
Harald Hanche-Olsen

2

古い質問ですが、MacOS X Catalinaユーザーの場合:

作成/編集~/.zshenv

# comment for yourself
PATH="$PATH:to/your/path"

変更することをお知らせPATHして~/.zprofileか、~/.zshrc正しくない、それがあるべき~/.zshenv

に何かをPATH追加する必要がある場合は、さらに作成/編集します~/.zprofile

# apply the prepend to PATH
[[ -r ~/.zshenv ]] && source ~/.zshenv
# remove duplicate in PATH
typeset -U PATH

リファレンス:http : //zsh.sourceforge.net/Intro/intro_3.html


「PATHの先頭に追加する必要がある場合」とはどういう意味.zshenvですか?また、これを行うことができないのはなぜですか?
nohillside

@nohillside:私の悪い文法は申し訳ありませんが、良い質問です。あなたがに何かを付加しようとした場合PATH~/.zshenvすることによりPATH="to/your/path:$PATH"内の行せずに、~/.zprofileそれは動作しません。何かを呼び出すpath_helperと、それら/usr/local/bin/:/usr/bin:...がの前に移動しPATHます。

つまり、読み込み順序の問題です。path_helper後に実行されます~/.zshenvが、前に~/.zproflie。そして今日の私の研究から、modifyの代わりにsymlinkを使用することをお勧めしPATHます。これははるかに簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.