web-dev-qa-db-ja.com

エラー:EACCES:npmを使用してESLintをインストールしようとすると許可が拒否されました

私は行くことでnpmで ESLint をインストールしようとしています:

npm install -g eslint

ただし、次のエラーが表示されます。

Deans-Air:~ deangibson$ npm install -g eslint
npm ERR! tar.unpack untar error /Users/deangibson/.npm/eslint/2.4.0/package.tgz
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "eslint"
npm ERR! node v4.2.3
npm ERR! npm  v2.14.7
npm ERR! path /usr/local/lib/node_modules/eslint
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall mkdir

npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/eslint'
npm ERR!     at Error (native)
npm ERR!  { [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/eslint']
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/eslint',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/eslint',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:35:25',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:47:53',
npm ERR!      'FSReqWrap.oncomplete (fs.js:82:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/deangibson/npm-debug.log

正直なところ、npmで何かをインストールしようとするたびにこれを取得します。 「Sudo」を使用することもあれば、使用しないこともあります。

35
user818700

以下のようにnpm installで--unsafe-perm = trueおよび--allow-rootフラグを使用します:

Sudo npm install -g eslint --unsafe-perm=true --allow-root

それは私にとって魅力のように働いた。

58
DHRUV GUPTA

この問題は npm docs:npmパーミッションの修正 で詳しく説明されています。

次の2つのソリューションを利用できます。

オプション1:npmのデフォルトディレクトリをホームフォルダの隠しディレクトリに変更します

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile

オプション2:これを処理するパッケージマネージャーを使用します

brew install node
30
Mobiletainment

このコマンドを試してくださいSudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules}

これにより、npmおよびその他のツール(lib/node_modules、bin、およびshare)が使用するサブフォルダーの所有権が変更されます。

更新

これに従ってください link 他のユーザーからの提案に従って。

4
Jitendra Kumar

次のコマンドを実行すると、packages.jsonのインストール中に問題が解決しました。

 Sudo npm install --unsafe-perm=true --allow-root

問題の原因となったパッケージのみをインストールするには:

  Sudo npm install -g --unsafe-perm=true --allow-root eslint
3
mahmoud mehdi
Sudo npm install -g --unsafe-perm=true eslint

十分なものです。

3
Rahul

tnsの前のSudoを使用してください。

例:

Sudo tns create Tekmo --template tns-template-hello-world

私がSudoを使用している場合、作成するようなエラーが見つかりませんpostinstall.js

エラー:EACCES:許可が拒否されました

1
Abhijeet Jadhav