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
このソリューション を試しましたが、問題は解決せず、同じエラーが発生します。
これを解決するために追加できるものがあれば教えてください。
これを npmのアクセス許可を修正する から見ましたが、助けてくれたかもしれません。
オプション1:許可をnpmのデフォルトディレクトリに変更する
Npmのディレクトリへのパスを見つけます。
npm config get prefix
多くのシステムでは、これは/usr/local
になります。
警告:表示されたパスが/usr
のみの場合、Option 2または許可を台無しにします。
Npmのディレクトリの所有者を現在のユーザーの名前(ユーザー名)に変更します。
Sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
これにより、npmおよびその他のツール(lib/node_modules
、bin
、およびshare
)によって使用されるサブフォルダーのアクセス許可が変更されます。
Npmが使用するデフォルトディレクトリ(つまり、/usr
)の所有権を変更したくない場合があります。これは、他のユーザーとシステムを共有している場合など、いくつかの問題を引き起こす可能性があるためです。
代わりに、異なるディレクトリを完全に使用するようにnpmを構成できます。私たちの場合、これはホームフォルダ内の隠しディレクトリになります。
グローバルインストール用のディレクトリを作成します。
mkdir ~/.npm-global
新しいディレクトリパスを使用するようにnpmを構成します。
npm config set prefix '~/.npm-global'
~/.profile
ファイルを開くか作成して、次の行を追加します。
export PATH=~/.npm-global/bin:$PATH
コマンドラインに戻り、システム変数を更新します。
source ~/.profile
Test:Sudo
を使用せずにパッケージをグローバルにダウンロードします。
`npm install node-g.raphael --save`
手順2〜4の代わりに、対応するENV変数を使用できます(たとえば、~/.profile
を変更したくない場合)。
NPM_CONFIG_PREFIX=~/.npm-global
Mac OSでNodeを新規インストールする場合は、Homebrew
パッケージマネージャーを使用してこの問題を完全に回避できます。 Homebrew
は、適切な権限を設定してすぐに設定します。
brew install node
これが役立つことを願っています