nodejs - 无法通过 npm 安装 contextify

nodejs - failing to install contextify via npm

收到有关 "node-gyp rebuild" 的错误,但似乎无法弄清楚原因?

完整错误:http://pastebin.com/HJ4z6tie

EACCES 错误代码表示进程没有权限访问目标 directory/file 中的 read/write。对于包管理器来说很常见,这通常意味着模块无法安装到目标目录。

这可以通过 运行 以超级用户 (sudo ...) 身份执行命令来解决,但您最好只修复文件权限,以便 运行 的帐户命令对目标目录具有必要的权限。

作为旁注,EACCES 错误来自伟大的 Linux 本身 - 请参阅 list of other error codes(或 运行 man errno)可能会遇到。

也许,此链接和解决方案对您有用:

1) https://github.com/hideo55/node-murmurhash3/issues/4

问题:

When I run the command sudo npm link your NPM is failing.

解决方案:

when I use --unsafe-perm=true this NPM works.

2) https://github.com/npm/npm/wiki/Troubleshooting#permission-error

Permission Error

npm ERR! code EPERM

npm ERR! code EACCES

Fix the permissions of your cache with sudo chown -R $(whoami) "$HOME/.npm".
Try again with sudo. e.g. sudo npm install express -g. (You'll probably need to fix cache permissions afterwards, as above).
Reinstall node so it doesn't require sudo.

这样定义环境变量 NODE_PATH :

export NODE_PARENT=${HOME}/node-v0.12.0
export PATH=${NODE_PARENT}/bin:${PATH}  # so executables are found
export NODE_PATH=${NODE_PARENT}/lib/node_modules # so node can find modules

./configure   --prefix=${NODE_PARENT}

从源代码安装 Node 时执行此操作...这将为您提供 node 和 npm 并将避免所有此类权限错误...然后自己安装模块...不需要 root

npm install -g some-global-module