我在 Windows 8 上使用 cygwin Xwin 和 nodejs,并且尝试从我的全局存储库 npm 链接包,但总是收到以下错误
$ npm link lodash
unbuild lodash@2.1.0
npm ERR! Error: EPERM, symlink 'C:\Users\Mike\AppData\Roaming\npm\node_modules\lodash'
npm ERR! { [Error: EPERM, symlink 'C:\Users\Mike\AppData\Roaming\npm\node_modules\lodash']
npm ERR! errno: 50,
npm ERR! code: 'EPERM',
npm ERR! path: 'C:\\Users\\Mike\\AppData\\Roaming\\npm\\node_modules\\lodash' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\nodeadmin.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "link" "lodash"
npm ERR! cwd C:\workspaces\caravanmap\server
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! path C:\Users\Mike\AppData\Roaming\npm\node_modules\lodash
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, symlink 'C:\Users\Mike\AppData\Roaming\npm\node_modules\lodash'
我已经尝试了所有我能想到的基于权限的方法来尝试解决这个问题,包括获取所有目录和 chmod 的所有权。我找不到以管理员身份运行 xterm 的方法,这似乎可以解决这个问题 - 在 cygwin/bin 目录中运行 xterm.exe 二进制文件不会运行 xterm,而是我必须创建一个 .bat 文件使用运行 xterm 命令。
在其他计算机上,我没有遇到 npm 链接错误,也没有遇到以管理员身份运行 xterm 的问题。难道是最新版本的cygwin发生了一些变化?在硬盘发生故障后,我不得不重建我的笔记本电脑,无法理解为什么它过去可以工作,但现在不再工作了。有人见过这个吗?
提前非常感谢
最佳答案
尝试在 Cygwin 中运行以下命令:
chmod -R 0777 /c/Users/Mike/AppData/Roaming/npm-cache/
这修复了我在带有 Cygwin 64 位的 Windows 7 上的错误。
关于node.js - 在 cygwin xterm 上执行 npm 链接时出现 EPERM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21626741/