Mavericks(Mac OS Xバージョン9.4)マシンを最初から再構築しました。私は管理者であり、このマシンの唯一のユーザーです。
git-2.0.1-intel-universal-snow-leopard.pkg
( http://git-scm.com/downloads )を介してデフォルトの/usr/local/git/bin/git
の場所にGitをインストールしました。node-v0.10.30.pkg
( http://nodejs.org/download/ )を介してデフォルトの/usr/local/bin/node
の場所にインストールしました。/usr/local/bin/npm
の場所にもNPMがインストールされているというメモが含まれていました。$PATH
は/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
をエコーします(/usr/local/bin
が含まれています)。npm install -g bower
を実行すると、次の結果になります。
npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/bower']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/usr/local/lib/node_modules/bower',
npm ERR! fstream_type: 'Directory',
npm ERR! fstream_path: '/usr/local/lib/node_modules/bower',
npm ERR! fstream_class: 'DirWriter',
npm ERR! fstream_stack:
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR! 'Object.oncomplete (fs.js:107:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/Home
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path /usr/local/lib/node_modules/bower
npm ERR! fstream_path /usr/local/lib/node_modules/bower
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/Home/npm-debug.log
npm ERR! not ok code 0
同様のインストール(npm install -g yo
、npm install -g grunt
、npm install -g nvm
、npm install -g npm
)を実行すると、同じエラーのリストのように見えます。
オンラインの何人かの人々はSudo
を介してインストールを強制することを提案していますが、他の何人かはこれが後で問題を引き起こす可能性があると警告しています。これらのパッケージのマニュアルには、Sudo
の要件が記載されていないようであり、場合によっては、この問題が発生したときにNPMに連絡するようにアドバイスされています。
npm cache clear
を実行しても、問題は修正されません。
ホーム(ls -la
)ディレクトリで~
を実行すると、Mac OSXのユーザー名が.npm
ディレクトリの所有者として表示されます:drwxr-xr-x 15 admin staff 510 Aug 11 23:53 .npm
誰が何が間違っていて、これを修正する方法を知っていますか?ありがとうございました。
ちなみに、この問題を解決するには、/usr/local
の所有者を自分自身に変更して、各パッケージのインストールにSudo
を追加することなく、NPMがデフォルトの場所にあるモジュールを使用できるようにしました。
Sudo chown -R `whoami` /usr/local
EACCESは、操作の実行にアクセスできないというエラーです。
行を取りました:npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm
が指定された場所にディレクトリを作成できなかったことがわかります。
その理由は、スーパーユーザーとしてコマンドを実行していない可能性が非常に高いです。実際、エラーログは次のことも示唆しています。
npm ERR! root/Administratorとしてこのコマンドをもう一度実行してください。
管理者として実行するには、これらのコマンドの前にSudo
を付ける必要があります。あれは:
Sudo npm install -g bower
。セキュリティ上の理由から、パスワードを入力する必要があります。
nvm などのバージョンマネージャーを使用してNode.jsをインストールすることをお勧めします。このようにして、1つの石で2羽の鳥を殺します。
基本的には走るのと同じくらい簡単です
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.24.1/install.sh | bash
コマンドラインから。
どうしても必要な場合を除いて、通常はSudo
を実行することはお勧めしません。
このような問題の場合、 [〜#〜] npm [〜#〜] は多くの問題を解決し、複数のノードバージョンを使用できるようにし、ユースケースに応じて選択します。
新しいマシンのセットアップでも同様の問題が発生し、NPMをインストールすることで問題が解決しました。
新たに開始するには、以前のnode.jsとnpmのインストール、およびこれらを削除します。
〜/ .npmrc〜/.npm〜/tmp〜/.npm-init.js
nodejsとnpmをrootではなく自分でインストールするには、次のコマンドを実行します(linux):
mkdir ${HOME}/bin
ソースをダウンロード: http://nodejs.org/download/
cd v0.10.30/
./configure --prefix=${HOME}/bin/nodejs
make -j8
make install
上記で定義されたディレクトリに配置します--prefix
export PATH=${HOME}/bin/nodejs/bin:$PATH
NODE_PATHにより、ノードはモジュールのdirを見つけることができます。そうでない場合、npm installxxxは新しくインストールされたモジュールをcurrdirのdirに配置します。
export NODE_PATH=${HOME}/bin/nodejs/lib/node_modules
上記を実行し、構文を使用します:npm install xxxxx-g常にグローバルに-gを使用します
nodejs installはnpmも提供します:
ls -la ${HOME}/bin/nodejs/bin
(解決策の答え)
こんにちは、みんな、
MacBook Pro 2018でも同じ問題が発生しました。依存関係をグローバルに(「-g」または「--global」で)インストールしようとすると、「EACCES」エラーが発生しました(権限に関するものです)。
コマンドの前に「Sudo」を追加するだけでかまいません強制するもの。
例えば:
Sudo npm install gulp -g
または
Sudo npm install browser-sync -g
楽しい!