无法安装npm包“npm ERR! errno -4048“

我正在尝试安装npm软件包(node-xmpp-server),但安装失败。 以前当我试图安装一个安装在全局而不是本地安装的软件包时,现在它根本就没有安装。
Plz帮帮我。

npm安装node-xmpp-server
错误是:npm ERR! errno -4048
npm ERR! Windows_NT 6.3.9600
npm ERR! argv“c:\ Program Files \ nodejs \ node.exe”“c:\ Program
Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js“”install“”node-xmpp-server“

npm ERR! 节点v0.12.4
npm ERR! npm v2.10.1
npm ERR! pathc:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples
npm ERR! 代码EPERM
npm ERR! errno -4048
npm ERR! 错误:EPERM,取消链接'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples'

npm ERR! 在错误(本机)
npm ERR! {[Error:EPERM,unlink'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples']

npm ERR! errno:-4048,
npm ERR! 代码:'EPERM',
npm ERR! path:'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples'} npm ERR!
npm ERR! 请尝试以root / Administrator身份再次运行此命令。
npm ERR! 错误回滚错误:EPERM,取消链接'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples'

npm ERR! 错误回滚(本机)
npm ERR! 错误回滚{[Error:EPERM,unlink'c:\ Users \ Jaseem
阿巴斯\文档\ node_modules \节点XMPP服务器\实例]
npm ERR! 错误回滚errno:-4048,
npm ERR! 错误回滚代码:'EPERM',
npm ERR! 错误回滚path:'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples'}

杀死任何进程locking你的文件

似乎这种错误可能是由文件权限locking导致的 – 在安装whatwg-fetch时,我遇到了非常相似的事情(相同的ERRNO:-4048)。

我发现一个同时打开的Visual Studio实例正在获取它不需要的各种文件。 一旦我把它closures,安装就完美了。

在采取更为激烈的措施之前,这可能是一个迅速检查的可能原因。

如果你仍然有这个错误的麻烦,也许你升级节点版本5.4> …该版本提供了一个错误。 这里主要是降级节点版本的解决scheme

在Windows中将是:

 npm install -g npm@5.3 

这对我很有用。

我有同样的问题,我发现以下解决scheme:

  1. 删除两个

    • 的%ProgramFiles%\的NodeJS \ NPM
    • 的%ProgramFiles%\的NodeJS \ npm.cmd
  2. 进入%ProgramFiles%\ nodejs \ node_modules \ npm,并将名为npmrc的文件复制到新的npm文件夹中,该文件应该是%appdata%\ npm \ node_modules \ npm。 这将告诉新的npm全球安装软件包的位置。

  3. 重新启动Windows,它的工作。

在这里find这个(npm疑难解答部分)。 在那里向作者致谢

我有这个相同的问题,设置node.js后,我跟随了一个指导,为unix的部分,并最终将我目前的工作目录移动到一个新的文件夹,但我忘了复制.npmrc文件从旧位置新一。 我也从%AppData%改变了我的前缀的位置,我通过使用npm config ls -l将我的当前设置与默认值进行比较。 这里的两个线索是,我在开始时有一行叫做userconfig的行,指向我的.npmrc文件,它位于不同的位置,而且我的前缀被默认值覆盖。 将其更改回默认值可解决问题。

尝试重置这些默认值,并检查你的configuration设置是什么。 我不知道如果重新安装node.js会帮助任何东西,如果它仍然参考您的旧设置。

有人说这是由于npm错误https://github.com/npm/npm/issues/9696

添加“–force”来安装涉嫌解决这个问题。

np init这将创build一个虚拟package.json打开文件,并input您所需的依赖关系列performance在去npm我这个问题解决了我。

我尝试了以下解决scheme,我不知道哪一个为我工作。

  • 在pipe理员(在Windows操作系统上)在命令提示符下运行原生init,希望在Mac OS上使用sudo反应原生init
  • 在命令提示符下npm cache clean命令。
  • 暂时禁用您的防病毒软件。

尝试任何解决scheme或所有,

对于npm来说,这是一个长期存在的问题,他们似乎对修复没有兴趣。 别人提到的各种各样的东西有时会起作用(例如closures正在运行的程序,降级版本等)。 它一般只限于Windows安装,尽pipe我最近也在Linux上发生过这种情况。

升级npm到5.4.2它将解决这个问题。

安装命令: npm i -g npm@5.4.2npm i -g npm

如果仍然不起作用,请尝试使用npm cache clean清理caching

你可以像这样使用强制npm cache clean –force

看来这个错误可能performance为一个以上的原因,所以可能不会有一个适用于每个人的单一修复。

但是,并发问题通常是安装失败的原因。 根据迄今已收到近180条评论的有关npm问题线索的积累的智慧, 潜在的问题是

在访问硬盘上相同文件的asynchronousI / O操作之间的争用条件。 你当然可以通过清理硬盘,例如使用“npm cache verify”或将项目移动到SSD来影响它,但是这并不能解决问题的根本原因。

同样,closuresIDE或禁用病毒扫描程序有时候对某些人有用,但如果并发问题在后面,并不能真正解决问题。

一个补丁已经在npm 5.6.0中登陆了。 据初步报道,这似乎是伎俩。 所以如果你的npm --version比较低的话,更新到5.6.0(或者当你阅读这个版本的时候)。

 npm uninstall -g npm npm install -g npm@5.6.0 

如这里所build议的 。

如果这没有帮助,那么文件锁可能真正的原因。 正如@Oly 上面所说的那样,closuresIDE或者暂时禁用病毒扫描程序或者类似的行为确实是一种方法。

我有同样的问题…这是修复:

将nodejs安装在不需要pipe理员权限的本地目录中。

我改变了npm版本,这不会再发生

我只是运行npm cache clean ,并为我工作

我通过将npm从5.4.0降级到5.3版来修复

 npm i -g npm@5.3

我希望这对你有帮助

npmcaching清理 – 没有解决问题

npm i -g npm@5.3 – 没有解决问题。

重新安装nodejs – 解决了这个问题