Node.js で npm install -g less が動作しない: EACCES: permission denied エラーの解決策
Node.js で npm install -g less が動作しない: EACCES: permission denied エラーの解決策
npm install -g less
コマンドを実行すると、以下のエラーが発生します。
npm ERR! Error: EACCES: permission denied
このエラーは、グローバルインストールに必要な権限がないことを示しています。
解決策:
以下の方法で解決できます。
sudo を使用する
sudo npm install -g less
とコマンドの先頭に sudo
を追加することで、管理者権限で実行できます。
npm-global
というパッケージを使用することで、グローバルインストールをより簡単に実行できます。
npm install --global npm-global
npm-global install less
ユーザーディレクトリにインストールする
グローバルインストールではなく、ユーザーディレクトリにインストールすることもできます。
npm install less
この場合、less
コマンドは ~/.npm-global/bin
ディレクトリにインストールされます。このディレクトリを PATH
環境変数に追加することで、less
コマンドをどこからでも実行できます。
export PATH="$HOME/.npm-global/bin:$PATH"
Node.js のバージョンマネージャーを使用する
nvm
や n
などの Node.js のバージョンマネージャーを使用することで、異なるバージョンの Node.js を簡単にインストールおよび管理できます。これらのバージョンマネージャーは、グローバルインストールの問題を回避するのに役立つ場合があります。
補足:
sudo
を使用する場合は、パスワードの入力が求められます。npm-global
を使用する場合は、事前にインストールする必要があります。- ユーザーディレクトリにインストールする場合は、
~/.npm-global/bin
ディレクトリが存在することを確認してください。 - Node.js のバージョンマネージャーを使用する場合は、使用方法に関するドキュメントを参照してください。
- 上記の解決策を試しても問題が解決しない場合は、Node.js のコミュニティフォーラムやサポートサイトで助けを求めることができます。
- npm install -g コマンドを使用する前に、インストールするパッケージが信頼できるソースからのものであることを確認してください。
- ターミナルを開きます。
- 以下のコマンドを実行します。
npm install -g less
エラーメッセージ:
npm ERR! Error: EACCES: permission denied
解決策 1: sudo を使用する
sudo npm install -g less
解決策 2: npm-global を使用する
- 以下のコマンドを実行して
npm-global
をインストールします。
npm install --global npm-global
npm-global install less
npm install less
- Node.js のバージョンマネージャー (例:
nvm
、n
) をインストールします。 - バージョンマネージャーのドキュメントに従って、Node.js のバージョンをインストールおよび管理します。
- 上記のサンプルコードは、macOS または Linux システムで動作します。Windows システムの場合は、コマンドプロンプトを使用する必要があります。
その他の解決策
以下のコマンドを実行して、NODE_HOME
環境変数を設定できます。
export NODE_HOME="$HOME/.node_global"
このコマンドを実行すると、~/.node_global
ディレクトリが NODE_HOME
環境変数の値として設定されます。これにより、npm install -g
コマンドでインストールされたすべてのグローバルパッケージが、このディレクトリにインストールされます。
npm-config を使用する
以下のコマンドを実行して、npm-config
を使用してグローバルインストール用のディレクトリを設定できます。
npm config set prefix "$HOME/.node_global"
このコマンドを実行すると、npm install -g
コマンドでインストールされたすべてのグローバルパッケージが、~/.node_global
ディレクトリにインストールされます。
- 上記の方法は、
sudo
やnpm-global
を使用するよりも安全な場合があります。 - 環境変数を設定する場合は、すべてのターミナルセッションで有効になるように、ログインシェル設定ファイル (例:
~/.bash_profile
、~/.bashrc
) に追加する必要があります。 npm-config
を使用する場合は、ターミナルセッションごとに有効になるため、ログインシェル設定ファイルに追加する必要はありません。
node.js npm terminal