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/