MacまたはUbuntuの場合は、次のパスを追加する必要がありますPATH
。
# add the following to ~/.profile
export PATH=~/.npm-global/bin:$PATH
しかし、私たちは引き続き使用する必要があります。
source ~/.profile
マシンを再起動しないと、新しいBashウィンドウに表示されます。PATH
その行をに入れることができますが、その設定を.bashrc
次に入れる必要があります。PATH
.profile
https://superuser.com/questions/183870/difference-Between-bashrc-and-bash-profile
したがって、ここにいくつかのジレンマがあります。再起動しないと、すべてのBashシェルでそのパスを持つことはできません。しかし、私たちのコンピュータで実行されているアプリケーションが多いため、再起動できなくなる可能性があり、再起動して再試行するのに時間がかかります。
すべてのBashシェルに変更を適用しますが、コンピュータを再起動する必要はない方法はありますか?
ベストアンサー1
ファイルが存在しない場合、シェルは~/.profile
ファイルを読み取り、ログインシェルになります。起動時に対話型の非ログインシェルを読みます。bash
~/.bash_profile
bash
~/.bashrc
~/.bash_profile
let(または~/.profile
)sourceを使用するのが一般的です。特に~/.bashrc
アクティブな使用中の唯一のシェルを読み取るシステムではさらにそうです(一部のシェルではなく他のシェルでも読むようにすると、readは複数の他のシェルを活発に使用している場合に問題を引き起こす可能性があります)。bash
~/.profile
bash
~/.bashrc
すでに実行されているセッションからこれらのファイルをインポートしたくない場合は、bash
変数の値に要素を追加するだけですPATH
。この要素はシェルのコマンドラインから直接実行できます。
PATH=$HOME/.npm-global/bin:$PATH
(export
ここで使用して起動ファイルに追加することは重複します。PATH
明示的に使用しない限り、変数はすでに環境変数であるためですunset
。)
変更したばかりのシェル初期化ファイルをインポートする以外に、すでに有効になっているシェルセッションで変数の値を変更する方法はありませんPATH
(そうすることで、さまざまなことを行うことができるので、これを避けたいことは理解できます)。その他もの)。
(再起動する代わりに)シェルを再起動しても機能します。特に、シェルをログインシェルで起動する場合(デフォルトでは、ログインシェルでない場合は、macOSのようにターミナルエミュレータにシェルをログインシェルで起動させることができます)。