node.js - 在 cygwin xterm 上执行 npm 链接时出现 EPERM 错误

标签 node.js cygwin npm

我在 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/

相关文章:

node.js - 如何使用 Cosmos DB 触发器构建 Azure 函数?

node.js - 如何通过环回获取主详细信息查询?

c - 在cygwin环境下使用opencv运行C程序

使用 Cygwin 安装 Perl CSV_XS 模块失败

bash - 为什么在 unix 中列出文件夹需要这么长的命令?

node.js - `CI=true` 如何影响 `npm install` 命令?

node.js - 运行 NPM 安装后脚本时权限被拒绝?

javascript - 在 node.js 中使用来自 HTTP 请求的数据

javascript - 无法启动我的 nodejs 应用程序

javascript - 如何开始为 React-Native 开发 npm 包?