44

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

npm install node-xmpp-server
错误是:npm ERR!errno -4048
npm 错误!Windows_NT 6.3.9600
npm 错误!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 错误!npm v2.10.1
npm 错误!路径 c:\Users\Jaseem Abbas\Documents\node_modules\node-xmpp-server\examples npm ERR!错误号:-4048, npm 错误!代码:'EPERM', npm 错误!路径:'c:\Users\Jaseem Abbas\Documents\node_modules\node-xmpp-server\examples' } npm 错误! npm 错误!请尝试以 root/管理员身份再次运行此命令。
npm ERR!代码 EPERM
npm 错误!errno -4048
npm 错误!错误:EPERM,取消链接 'c:\Users\Jaseem Abbas\Documents\node_modules\node-xmpp-server\examples'

npm ERR!在错误(本机)
npm ERR!{ [错误:EPERM,取消链接'c:





npm 错误!错误回滚错误:EPERM,取消链接 'c:\Users\Jaseem Abbas\Documents\node_modules\node-xmpp-server\examples'

npm ERR!处回滚错误!
在错误(本机) npm ERR回滚错误 { [错误:EPERM,取消链接 'c:\Users\Jaseem
Abbas\Documents\node_modules\node-xmpp-server\examples']
npm ERR!回滚错误 errno: -4048,
npm ERR! 错误回滚代码:'EPERM',
npm 错误!回滚路径错误:'c:\Users\Jaseem Abbas\Documents\node_modules\node-xmpp-server\examples' }

4

20 回答 20

104

杀死任何锁定文件的进程

似乎这种错误可能是由文件权限锁定引起的 - 我在安装whatwg-fetch.

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

在采取更严厉的措施之前,这可能是一个快速检查的可能消除原因……

于 2017-05-17T02:26:00.757 回答
15

如果您仍然遇到此错误的问题,也许您将节点版本升级到 5.4 > ...该版本出现错误。这里的解决方案主要是降级节点版本

在 Windows 中将是:

npm install -g npm@5.3

这对我有用。

于 2017-09-05T08:37:35.700 回答
9

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

  1. 删除两者

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

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

在这里找到了这个(npm 故障排除部分)。感谢那里的作者

于 2015-07-09T20:04:12.123 回答
5

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

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

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

同样,对于某些人来说,关闭 IDE 或禁用病毒扫描程序有时会起作用,但如果出现并发问题,并不能真正彻底解决问题。

npm 5.6.0 中有一个补丁。根据最初的报道,它似乎起到了作用。因此,如果您npm --version的版本较低,请更新到 5.6.0(或您阅读本文时的任何当前版本):

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

正如这里建议的那样。

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

于 2017-12-02T23:03:52.120 回答
3

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

于 2017-12-18T17:25:04.107 回答
1

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

添加“--force”来安装据称可以解决该问题。

于 2016-03-17T15:29:07.743 回答
1

对我来说@Oly 的解决方案有效,我将为 Angular 的人补充一下,它ng serve -o锁定了文件。npm install是的 - 在项目运行时不要运行ng serve

于 2018-02-21T15:42:49.443 回答
1

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

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

如果仍然不起作用,请尝试使用npm cache clean清除缓存

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

于 2017-09-19T14:26:13.430 回答
0

我尝试了以下解决方案,我不知道哪一个对我有用。

  • 以管理员身份在命令提示符下运行 reactive-native init(在 Windows 操作系统上),希望在 Mac OS 上与 sudo reactive-native init 配合良好
  • npm cache clean在命令提示符下运行命令。
  • 暂时禁用您的防病毒软件。

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

于 2017-02-07T17:50:25.133 回答
0

在我的情况下,我右键单击错误中提到的 json 文件,取消选中只读标志,它工作

于 2021-11-09T12:51:22.150 回答
0

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

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

这应该可以解决问题。

于 2020-03-22T18:11:20.410 回答
0

我遇到了同样的问题,并确定这是由于我的项目所在的 Google Drive 文件夹启用了链接共享造成的。一旦我将它移动到非链接共享文件夹,一切正常。

于 2020-04-14T23:51:08.133 回答
0

就我而言,获取相同的问题。然后首先我停止 npm run watch 然后再试一次它就可以了。

于 2019-11-05T12:08:51.753 回答
0

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

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

于 2016-01-06T22:25:38.363 回答
0
np init

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

现在去:

npm i

这解决了我的问题。

于 2016-08-02T08:07:59.667 回答
0

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

于 2017-10-31T01:13:42.447 回答
-1

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

于 2017-01-26T23:48:59.717 回答
-1

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

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

于 2016-05-20T17:52:40.463 回答
-1

我只是跑步npm cache clean,为我工作

于 2017-03-14T02:59:59.950 回答
-1

删除 package-lock.json

然后再试一次

于 2017-12-16T02:28:34.810 回答