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

时间:2015-06-16 06:59:27

标签: node.js npm node-xmpp

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

  

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

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

  错误的ERR!在错误(本机)
  错误的ERR! {[错误:EPERM,取消链接'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples']

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

  错误的ERR!错误回滚错误(本机)
  错误的ERR!错误回滚{[错误:EPERM,取消链接'c:\ Users \ Jaseem
  阿巴斯\文档\ node_modules \节点XMPP服务器\实例]
  错误的ERR!错误回滚错误:-4048,
  错误的ERR!错误回滚代码:'EPERM',
  错误的ERR!错误回滚路径:'c:\ Users \ Jaseem Abbas \ Documents \ node_modules \ node-xmpp-server \ examples'}

20 个答案:

答案 0 :(得分:74)

杀死锁定文件的任何进程

似乎这种错误可能是由文件权限锁定引起的 - 我在安装whatwg-fetch时遇到了非常类似的错误(相同的错误:-4048)。

我发现我同时打开的Visual Studio实例正在获取它不需要的各种文件。一旦我关闭它,安装工作完美。

这可能是一个快速检查的可能原因,以便在采取更激烈的措施之前消除......

答案 1 :(得分:16)

如果您仍然遇到此错误的问题,并且可能将节点版本升级到5.4> ...该版本出现错误。 here解决方案基本上包括降级节点版本

在Windows中将是:

npm install -g npm@5.3

这对我有用。

答案 2 :(得分:10)

我遇到了同样的问题,我找到了以下解决方案:

  1. 删除两者

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

  3. 重新启动Windows,它运行良好。

  4. here上找到了这个(npm故障排除部分)。对那里作者的信誉

答案 3 :(得分:1)

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

添加“--force”进行安装可能会解决问题。

答案 4 :(得分:1)

对于我@ Oly的解决方案,我只是为Angular人添加了ng serve -o锁定文件。是的 - 当npm install正在为项目运行时,不要运行ng serve

答案 5 :(得分:1)

有同样的问题 闭幕视觉工作室解决了这个问题

答案 6 :(得分:1)

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

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

如果仍然无效,请尝试使用 npm cache clean清除缓存

你可以像这样使用强力 npm cache clean --force

答案 7 :(得分:1)

似乎这个错误可以表现出多种原因,因此可能不会成为适用于所有人的单一修复程序。

但是,并发问题通常是安装失败的原因。根据其中一个相关的npm问题主题的积累智慧,到目前为止已收到近180条评论,underlying problem is

  

访问硬盘上相同文件的异步I / O操作之间的竞争条件。你当然可以通过清理硬盘来影响它,例如使用" npm缓存验证"或者将项目移动到SSD,但这并不能解决问题的根本原因。

同样,对于某些人来说,关闭IDE或禁用病毒扫描程序有时可以正常工作,但如果并发问题背后的话,并没有真正解决问题。

补丁已经在npm 5.6.0中登陆。根据最初的报道,似乎可以做到这一点。因此,如果您的npm --version较低,请更新为5.6.0(或者您阅读本文时的当前版本):

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

suggested here

如果这没有帮助,那么文件锁可能是的真正原因。关闭IDE,或暂时禁用病毒扫描程序,或类似的操作确实是要走的路,正如@Oly所说above

答案 8 :(得分:0)

我遇到了同样的问题,在设置了node.js后,我遵循了针对unix的指南部分,最后将我当前的工作目录移动到了一个新文件夹,但是我忘了从旧位置复制.npmrc文件新的。我还改变了我的前缀的位置,远离%AppData%,我通过使用npm config ls -l将我的当前设置与默认值进行比较。这里的两个线索是我在开始时有一行名为userconfig指向我的.npmrc文件,该文件位于不同的位置,并且我的前缀被默认值覆盖。将此更改回默认值可修复问题。

尝试将这些设置重置为默认值并检查配置设置。我不确定重新安装node.js是否会有任何帮助,如果它仍然引用您的旧设置。

答案 9 :(得分:0)

我也遇到了同样的问题,并确定这是由于我的项目所在的Google Drive文件夹启用了链接共享引起的。将其移至非链接共享文件夹后,一切正常。

答案 10 :(得分:0)

执行以下操作。这可能是权限问题。

  1. 卸载所有防病毒程序并重新启动系统
  2. 安装纱线
  3. 删除package.lock.json和node_modules文件夹(如果有)
  4. 清除缓存(npm cache clean --force)
  5. 关闭VS代码或其他代码编辑器工具(如果已打开)
  6. 立即运行yarn install

这应该可以解决问题。

答案 11 :(得分:0)

就我而言,存在相同的问题。然后,我首先停止了npm run watch,然后再试一次,然后它起作用了。

答案 12 :(得分:0)

删除package-lock.json

再试一次

答案 13 :(得分:0)

这是npm的长期问题,他们似乎没有兴趣修复。其他人提到的各种事情有时会起作用(例如关闭正在运行的程序,降级版本等等)。它通常仅限于Windows安装,但我最近甚至在Linux中也发生过这种情况。

答案 14 :(得分:0)

我尝试了以下解决方案,我不知道哪一个适合我。

  • 在命令提示符下以管理员身份(在Windows操作系统上)使用native-native init,希望在Mac OS上与sudo reactive-native init配合使用
  • 命令提示符中的npm cache clean命令。
  • 暂时停用您的防病毒功能。

尝试任何解决方案或全部,

答案 15 :(得分:0)

np init

这将创建一个虚拟的package.json。 打开文件并输入所需的依赖项列表。

现在去:

npm i

这解决了我的问题。

答案 16 :(得分:-1)

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

npm i -g npm@5.3

我希望这会对你有所帮助

答案 17 :(得分:-1)

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

答案 18 :(得分:-1)

我更改了npm版本,但这并没有再次发生

答案 19 :(得分:-1)

我遇到了同样的问题......这是修复:

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