npmグローバルインストールパッケージの位置を変更し、EACCES権限拒否問題を解決する.


概要macOSシステムでは、npmのデフォルトのグローバルインストールパスは/usr/local/lib/node_modulesである.例えば、npm i -g vue-cliを実行すると、実際にvue-cliというモジュールを/usr/local/lib/node_modulesのディレクトリにインストールしました.
​ ⚠️/usr/local/libこれはシステムディレクトリであり、権限問題があります.sudoを使って実行できますが、一部のマシンがあります.rootを使って、ユーザがnpm i -g xxxを実行しても、あるモジュールをグローバルにインストールしても、EACCES permissions権限が拒否される問題があります.
解決方法:npmグローバルインストールモジュールの経路解決を修正することにより、npmグローバルインストールモジュールのパスを、現在ログインしているユーザのHOMEディレクトリの下に修正すればよく、sudoを使用しなくてもEACCES permissions権限が発生しないと拒否される問題が発生します.
​ ⚠️️注意:本教程はWindowsシステムに適合していません.
操作
0、現在のnpmの標準設定を確認する
npm config ls
1.npm-globalフォルダをnpmグローバルにインストールされたディレクトリとして作成します.
 mkdir ~/.npm-global
2、npmを修正し、新しいグローバルインストール経路を使用する
npm config set prefix '~/.npm-global'
3、PATH環境変数を変更する
vim ~/.bash_profile  //  .bash_profile  ,                      
4、いますprofileファイルに以下のコードを追加します.
export PATH=~/.npm-global/bin:$PATH
5、システム変数を更新し、再起動コマンドライン端末を取得する
 source ~/.bash_profile
6、テスト配置は、soduを使わないで全体に一つのカバンを設置する.
npm install -g jshint
その後、グローバルにインストールされたモジュールが/Users/jameswain/.npm-globalディレクトリにインストールされているのが見えます.
締め括りをつける
実際には、グローバル実装モジュールの権限不足を解決する方法:主にnpmグローバルインストールモジュールのディレクトリをユーザーのホームディレクトリに修正することで、ユーザーがsoduを必要としなくても、グローバルにモジュールをインストールすることができます.