【问题标题】:"npm install" fails when there is a git package dependancy on macOS Catalina当 macOS Catalina 上存在 git 包依赖项时,“npm install”失败
【发布时间】:2020-02-25 15:30:15
【问题描述】:

在具有 Git 依赖项的 Node.js 项目上运行“npm install”时,它在 macOS Catalina 上失败。

npm ERR! code EPERM
npm ERR! syscall spawn
npm ERR! errno EPERM
npm ERR! Error: spawn EPERM
npm ERR!     at ChildProcess.spawn (internal/child_process.js:394:11)
npm ERR!     at Object.spawn (child_process.js:540:9)
npm ERR!     at /Users/user/.node/lib/node_modules/npm/node_modules/pacote/lib/util/git.js:216:24
npm ERR!     at /Users/user/.node/lib/node_modules/npm/node_modules/promise-retry/index.js:29:24
npm ERR!  OperationalError: spawn EPERM
npm ERR!     at ChildProcess.spawn (internal/child_process.js:394:11)
npm ERR!     at Object.spawn (child_process.js:540:9)
npm ERR!     at /Users/user/.node/lib/node_modules/npm/node_modules/pacote/lib/util/git.js:216:24
npm ERR!     at /Users/user/.node/lib/node_modules/npm/node_modules/promise-retry/index.js:29:24 {
npm ERR!   cause: Error: spawn EPERM
npm ERR!       at ChildProcess.spawn (internal/child_process.js:394:11)
npm ERR!       at Object.spawn (child_process.js:540:9)
npm ERR!       at /Users/user/.node/lib/node_modules/npm/node_modules/pacote/lib/util/git.js:216:24
npm ERR!       at /Users/user/.node/lib/node_modules/npm/node_modules/promise-retry/index.js:29:24 {
npm ERR!     errno: 'EPERM',
npm ERR!     code: 'EPERM',
npm ERR!     syscall: 'spawn'
npm ERR!   },
npm ERR!   isOperational: true,
npm ERR!   stack: 'Error: spawn EPERM\n' +
npm ERR!     '    at ChildProcess.spawn (internal/child_process.js:394:11)\n' +
npm ERR!     '    at Object.spawn (child_process.js:540:9)\n' +
npm ERR!     '    at /Users/user/.node/lib/node_modules/npm/node_modules/pacote/lib/util/git.js:216:24\n' +
npm ERR!     '    at /Users/user/.node/lib/node_modules/npm/node_modules/promise-retry/index.js:29:24',
npm ERR!   errno: 'EPERM',
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'spawn'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/user/.npm/_logs/2019-10-30T08_40_20_156Z-debug.log

通过 npm 脚本执行 Git 似乎被操作系统阻止了。它适用于以前的 macOS 版本。如果我运行“sudo npm install”,它也适用于 macOS Catalina。

【问题讨论】:

  • 你检查了吗here?
  • @ManuelSpigolon 我尝试使用 npm 在不同的位置(主目录)安装 npm 并尝试过。还是一样。
  • npm comunity 中讨论了相同的问题,但没有讨论修复或解决方法。 :(

标签: node.js macos npm npm-install macos-catalina


【解决方案1】:

这是因为当前用户的默认组与源目录的组不同(即使用户具有对源目录的访问权限)。我的默认组是人员,但目录的组是管理员,当我将目录组更改为人员时,“npm ci/install”工作正常。 找到解决方案here。

【讨论】:

  • 在 Linux 4.15.0-66-generic 上看到这个。研究。 @note npm i -g 很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-06
  • 2017-11-24
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多