晴耕雨読

working in the fields on fine days and reading books on rainy days

[Node] npmをsudo権限なしでインストールする

npmパッケージをmacOSとLinuxでsudoなしでグローバルにインストールする方法について説明します。

npmはデフォルトでプロジェクト内にパッケージをローカルにインストールします。 パッケージをグローバルにインストールすることもできます(例:npm install -g <package>)。 グローバルにインストールすると、コマンドラインで使用するときに便利になります。 ただし、これにはroot権限(またはsudoの使用)が必要になるという欠点があります。

ここでは、特定のユーザーに対してパッケージをグローバルにインストールする方法を紹介します。

1. グローバルパッケージ用のディレクトリを作成
mkdir "$HOME/.npm-packages"
2. グローバルにインストールされたパッケージを保存する場所をnpmに指定する

~/.npmrcファイルに以下を追加します。

prefix=$HOME/.npm-packages
3. インストールされたバイナリとmanページをnpmが見つけられるようにする。

以下を.bashrcまたは.zshrcに追加します。

PATH="$PATH:$HOME/.npm-packages/bin"

npmのドキュメント "Fixing npm permissions"も参照してください。

以上です。