をインストールしようとするnode-g.raphael
と、次のエラーが表示されます。
Bender-03:htdocs alfred$ sudo npm install node-g.raphael --save
Password:
> [email protected] install
/Users/alfred/Sites/twistedgeo/htdocs/node_modules/contextify
> node-gyp rebuild
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir
'/Users/alfred/Sites/twistedgeo/htdocs/node_modules/contextify/build'
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/usr/local/bin/node"
"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"
"rebuild"
gyp ERR! cwd
/Users/alfred/Sites/twistedgeo/htdocs/node_modules/contextify
gyp ERR! node -v v8.8.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected]
(node_modules/contextify):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected]
install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
+ [email protected]
added 2 packages and updated 1 package in 6.556s
私はもう試したこの解決策しかし、問題は解決せず、同じエラーが引き続き発生します。
この問題を解決するために私が追加できるものがあればお知らせください。
ベストアンサー1
これを見たのはnpm 権限の修正それが役に立ったなら、あなたも試してみるといいかもしれません。
オプション1: npmのデフォルトディレクトリへの権限を変更する
npm のディレクトリへのパスを見つけます:
npm config get prefix
多くのシステムでは、これは になります/usr/local
。
警告: 表示されているパスが の場合は/usr
、 に切り替えます。オプション2そうしないと、権限が台無しになります。
npm のディレクトリの所有者を現在のユーザーの名前 (ユーザー名) に変更します。
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
lib/node_modules
これにより、npm やその他のツール ( 、bin
、share
)によって使用されるサブフォルダーの権限が変更されます。
オプション2: npmのデフォルトディレクトリを別のディレクトリに変更する
npm が使用するデフォルトのディレクトリ (つまり ) の所有権を変更したくない場合があります。/usr
これは、たとえばシステムを他のユーザーと共有している場合などに、問題が発生する可能性があるためです。
代わりに、npm がまったく別のディレクトリを使用するように設定することもできます。この場合、これはホーム フォルダー内の隠しディレクトリになります。
グローバルインストール用のディレクトリを作成します。
mkdir ~/.npm-global
新しいディレクトリ パスを使用するように npm を構成します。
npm config set prefix '~/.npm-global'
ファイルを開くか作成し
~/.profile
、次の行を追加します。export PATH=~/.npm-global/bin:$PATH
コマンドラインに戻り、システム変数を更新します。
source ~/.profile
テスト: を使用せずにパッケージをグローバルにダウンロードしますsudo
。
`npm install node-g.raphael --save`
手順 2 ~ 4 の代わりに、対応する ENV 変数を使用できます (例: を変更したくない場合~/.profile
)。
NPM_CONFIG_PREFIX=~/.npm-global
オプション 3: これを処理するパッケージ マネージャーを使用します。
Mac OS に Node を新規インストールする場合は、パッケージHomebrew
マネージャーを使用することでこの問題を完全に回避できます。パッケージ マネージャーHomebrew
は、適切な権限ですぐに設定できます。
brew install node