npm
を実行するフレームワークを使用しています およびwebpack
自動的に、ディレクトリ/usr/lib/node_modules
npm
を実行するために必要な755の権限を持っている sudo
を介して 。私が使用しているフレームワークでは、sudo
を追加できません コマンドに。
次に、npmパッケージをグローバル形式でインストールする必要があります(例:npm install webpack -g
)sudo
を使用せずに 。
/usr/lib/node_modules
に対してどのような権限で問題ありませんか ? 777の権限を設定した場合、それは問題なく安全ですか?
ありがとう!
承認された回答:
許可を変更する必要はありません npm
の sudo
なしで使用できるようにする 。 npm
を設定するには sudo
なしで実行するには 次の手順に従ってください:
オプション1:
-
npmディレクトリのパスを取得します:
npm config get prefix
-
/usr
を取得した場合 オプション2に移動 それ以外の場合は、npmディレクトリの所有者を自分のものに変更します:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
オプション2:
-
グローバルインストール用のディレクトリを作成します:
mkdir ~/.npm-global
-
そのディレクトリを使用するように構成します:
npm config set prefix '~/.npm-global'
-
~/.profile
を開くか作成します そしてこれを追加します:export PATH=~/.npm-global/bin:$PATH
-
これを
~/.bashrc
にも追加します ファイル(オプション):export PATH=/home/username/.npm-global/bin:$PATH export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
-
ファイルを更新します:
source ~/.bashrc
-
実行してテスト:
npm install -g jshint
出典:
https://docs.npmjs.com/getting-started/fixing-npm-permissions
http://www.competa.com/blog/how-to-run-npm-without-sudo/