npm
とwebpack
を自動的に実行するフレームワークを使用しています。ディレクトリ/usr/lib/node_modules
にはnpm
からSudo
を実行するために必要な755の権限があります。私が使用するフレームワークでは、Sudo
をコマンドに追加できません。
次に、Sudo
を使用せずに、npmパッケージをグローバル形式(たとえば、npm install webpack -g
)でインストールする必要があります。
/usr/lib/node_modules
にはどのような許可がありますか? 777のアクセス許可を設定した場合、それは問題なく安全ですか?
ありがとうございました!
npm
なしで使用できるようにするために、Sudo
のpermissionを変更する必要はありません。 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