【问题标题】:Fail to install npm package "npm ERR! errno -4048"无法安装 npm 包“npm ERR!errno -4048”
【发布时间】:2015-08-31 20:54:22
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 以管理员身份打开命令提示符,然后重试。
  • @BidhanA 我以管理员身份运行 bash。
  • ==> 先试试这个stackoverflow.com/questions/36566236/…
  • 一旦你想要的 npm 及其模块安装在根文件夹中。你的问题会解决的

标签: node.js npm node-xmpp


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      这应该可以解决问题。

      【讨论】:

        【解决方案4】:

        在我的情况下获取相同的问题。然后首先我停止 npm run watch 然后再试一次它就可以了。

        【讨论】:

          【解决方案5】:
          np init
          

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

          现在去:

          npm i
          

          这解决了我的问题。

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

              有同样的问题 关闭visual studio解决了问题

              【讨论】:

                【解决方案8】:

                删除 package-lock.json

                再试一次

                【讨论】:

                  【解决方案9】:

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

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

                  访问硬盘上相同文件的异步 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
                  

                  作为suggested here

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

                  【讨论】:

                    【解决方案10】:

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

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

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

                    清除缓存

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

                    【讨论】:

                    • 我尝试了其他 cmets 中提到的所有其他步骤。但最后,这是唯一对我有用的步骤。
                    【解决方案11】:

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

                    【讨论】:

                      【解决方案12】:

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

                      在 Windows 中将是:

                      npm install -g npm@5.3
                      

                      这对我有用。

                      【讨论】:

                        【解决方案13】:

                        杀死任何锁定文件的进程

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

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

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

                        【讨论】:

                        • 这值得更多的支持。当我愚蠢地卸载并重新安装 ember-cli 时,我忘记了我在后台运行的本地 ember 服务器。这可能节省了我几个小时的工作。谢谢。
                        • 哇,关闭 Visual Studio Code 并且包安装工作正常。好奇究竟是什么导致了这种情况,因为每当我想添加一个新包时,关闭并重新打开 VS Code 会很痛苦。
                        • 这显然也适用于 Atom IDE,所以这不仅仅是 Visual Studio 的问题,虽然我会说我从未在家里的 Linux 安装中看到过这个问题,只是在 Windows 安装在工作中。
                        • 同上,我在尝试 npm install 时正在运行 Angular 服务器。杀了它,立即起作用。
                        • 这里也一样,在家里我可以在我的 mac 上运行多个 vscode 实例就好了,但似乎在 Windows 上工作时我遇到了这个问题。因此,它与 VS Code 如何专门处理其在 Windows 上打开的实例有关。我在 Windows 7 上。
                        【解决方案14】:

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

                        【讨论】:

                          【解决方案15】:

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

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

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

                          【讨论】:

                            【解决方案16】:

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

                            【讨论】:

                              【解决方案17】:

                              我遇到了同样的问题...这是解决方法:

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

                              【讨论】:

                              【解决方案18】:

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

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

                              【讨论】:

                              • 我试过这样做,它给了我一条消息说I sure hope you know what you're doing
                              【解决方案19】:

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

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

                              【讨论】:

                                【解决方案20】:

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

                                1. 删除两个

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

                                3. 重启 Windows 就可以了。

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

                                【讨论】:

                                • 我试过了,但对我不起作用。我想我删除了一些文件节点文件,但我完全卸载节点并重新安装,但仍然不知道发生了什么问题?
                                • 还是同样的错误?平台和节点版本?
                                • window 8.1 npm-2.13.4 和节点 - v0.12.5
                                • 在我的情况下,只是因为我忘记了我用其他程序打开了一些节点模块,关闭程​​序解决了问题。我用win 8
                                猜你喜欢
                                • 2020-11-19
                                • 2018-06-13
                                • 1970-01-01
                                • 2022-01-06
                                • 2022-01-17
                                • 2019-05-10
                                • 1970-01-01
                                • 2020-03-06
                                • 2018-10-29
                                相关资源
                                最近更新 更多