npm権限修復
1455 ワード
id:fixing-npm-permissions title:03-npm権限修復prev:installing-node next:installing-npm-packages-locally
グローバルパッケージをインストールしようとすると、EACCESエラーが発生する可能性があります.このエラーは、グローバルパッケージコマンドディレクトリを格納するための現在のnpmの書き込み権限がないことを示しています.
この問題は、次の2つの方法の1つで解決できます. npmデフォルトディレクトリを変更する権限 npmデフォルトディレクトリの位置を変更する 次の変更を行う前に、コンピュータをバックアップしたほうがいいです.
方法1:npmデフォルトディレクトリの権限を変更する npmディレクトリパス が見つかりました.
ほとんどのシステムでは、ディレクトリは一般的に/usr/localです.
警告:パスが/usrで表示されている場合は、直接2つ目の方法を採用します. npmディレクトリを変更する所有者は、現在のユーザ である.
このコマンドを使用して、npmの下のサブディレクトリと他のツールコマンド(lib/node_modules,bin,and share)を同時に変更します.
方法2:npmデフォルトディレクトリの位置を変更する
npmのデフォルトディレクトリの所有者を変更したくない場合があります.これは、他のユーザーと同じシステムを共有しているなど、予期せぬ問題を引き起こす可能性があります.
npmディレクトリの位置を変更することができます.我々のケースでは,ユーザルートディレクトリの下にある非表示ディレクトリを用いる.グローバルパッケージインストール用ディレクトリ を作成する. npmは、新しいディレクトリ を使用するように構成する.~/.profileファイルを開くまたは新規作成し、ディレクトリパス を追加する.はコマンドラインインタフェースに戻り、システム変数 を更新する.
テスト:sudoを使用しないでグローバルパッケージ
24ステップ(/.profileを変更したくない場合)
グローバルパッケージをインストールしようとすると、EACCESエラーが発生する可能性があります.このエラーは、グローバルパッケージコマンドディレクトリを格納するための現在のnpmの書き込み権限がないことを示しています.
この問題は、次の2つの方法の1つで解決できます.
方法1:npmデフォルトディレクトリの権限を変更する
npm config get prefix
ほとんどのシステムでは、ディレクトリは一般的に/usr/localです.
警告:パスが/usrで表示されている場合は、直接2つ目の方法を採用します.
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
このコマンドを使用して、npmの下のサブディレクトリと他のツールコマンド(lib/node_modules,bin,and share)を同時に変更します.
方法2:npmデフォルトディレクトリの位置を変更する
npmのデフォルトディレクトリの所有者を変更したくない場合があります.これは、他のユーザーと同じシステムを共有しているなど、予期せぬ問題を引き起こす可能性があります.
npmディレクトリの位置を変更することができます.我々のケースでは,ユーザルートディレクトリの下にある非表示ディレクトリを用いる.
mkdir ~/.npm-global
npm config set prefix '~/.npm-global
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
テスト:sudoを使用しないでグローバルパッケージ
npm install -g jshint
jia'rをダウンロード24ステップ(/.profileを変更したくない場合)
NPM_CONFIG_PREFIX=~/.npm-global npm install -g jshint
の代わりに、ENV環境変数を変更することもできます.