升级到NPM 5.4.1后,无法在不删除node_modules的情况下运行“npm install”

时间:2017-09-13 20:01:06

标签: node.js npm npm-install fsevents

我已将NPM从5.3.0升级到5.4.1,之后,似乎命令 npm install 仅在我删除 node_modules 时才有效。当我尝试重新运行安装时,我收到以下错误消息。 (之后,如果我再次删除 node_modules ,则命令运行安装将起作用 - 一次。)

  

PS C:\ source \ website> npm安装
  错误的ERR!路径C:\ source \ website \ node_modules \ fsevents \ node_modules \ aproba \ package.jsonvet.Web
  错误的ERR!代码EPERM
  错误的ERR! errno -4048
  错误的ERR!系统调用取消链接
  错误的ERR!错误:EPERM:不允许操作,取消链接'C:\ source \ website \ node_modules \ fsevents \ node_modules \ aproba \ package.json'
  错误的ERR! {
  错误:EPERM:不允许操作,取消链接'C:\ source \ website \ node_modules \ fsevents \ node_modules \ aproba \ package.json'
  错误的ERR! stack:'错误:EPERM:不允许操作,取消链接\'C:\ source \ website \ node_modules \ fsevents \ node_modules \ aproba \ package.json \'',
  错误的ERR!错误:-4048,
  错误的ERR!代码:'EPERM',
  错误的ERR!系统调用:'unlink',
  错误的ERR!路径:
   'C:\ source \ website \ node_modules \ fsevents \ node_modules \ aproba \ package.json'}   npm ERR!
  错误的ERR!请尝试以root / Administrator方式再次运行此命令   错误的ERR!可以在以下位置找到此运行的完整日志:
  错误的ERR! C:\ Users \用户对接\应用程序数据\漫游\ NPM-cache_logs \ 2017-09-13T16_42_26_030Z-
的debug.log   PS C:\ source \ website>

据我所知,我的设置中没有其他任何改变。我的环境是Windows 10和Node 8.2.1。这种行为在几台计算机上似乎是一致的。

我注意到在重新安装过程中,有很多等待时间,比如安装程序卡住了,在下一阶段。

  

在29.671s中添加了995个包   PS C:\ source \ website> npm安装
  [......] - postinstall:sill doSerial postinstall 686

我不清楚如何处理这个问题。 fsevents 是否应该受到责备?我记得它产生了警告但在早期版本中仍然很好。

这个主题有一个related question,但正好涵盖了我的问题。我不能决定它是否只是同一个问题的不同工作,或者它是两个不同的麻烦。

3 个答案:

答案 0 :(得分:4)

这是许多npm 5.4发现的常见问题,此时只有选项是将npm降级回5.3

npm i -g npm@5.3.0

有关更多更新,请点击此主题。

https://github.com/npm/npm/issues/18380

P.S:您还可以在降级后尝试使用npm cache clean --force并尝试使用npm i -g npm@5.4.1npm install --no-optional再次安装5.4,如果您确实需要npm 5.4来完成工作。

答案 1 :(得分:0)

不要'知道是什么导致了问题,但你可以尝试几种适用于其他人的解决方案:

  • 1

    npm cache clean

    npm install

  • 2

    npm i

  • 3

    右键单击选择open as administrator运行命令提示符,然后运行命令

希望这对你有所帮助。

答案 2 :(得分:0)

我正在运行Win 10并认识到同样的问题。该决议将降级至5.3。我还注意到5.4.0在我们的构建服务器上工作(TFS 2017)。

npm install --global npm@5.3.0

完全没有任何帮助的一件事就是关于管理模式的所有内容。我们使用管理员权限重新配置和重置构建管道几个小时。

由于某种原因,有一个关键模块需要5.4.1,在这个特定情况下不相关。我们通过管道中的单独步骤解决了这个问题 - 一个重用预先构建的版本和一个动态组装的版本。

另外,我不担心。在几天左右的时间里,必须有一个更新,问题将得到解决。在那之前 - 降级到5.3是我们使用的黑客攻击。