【问题标题】:NPM: ENOENT: no such file or directory, renameNPM:ENOENT:没有这样的文件或目录,重命名
【发布时间】:2018-09-14 00:40:35
【问题描述】:

我在项目中使用 gulp,然后我决定删除所有开发依赖项以切换到 webpack,但每次尝试使用 npm 安装时都会收到此错误:

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules\fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Error: EPERM: operation not permitted, rename 'C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\.staging\fsevents-e80c4ef4\node_modules\are-we-there-yet' -> 'C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\.staging\are-we-there-yet-5db4c798'

npm ERR! path C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\acorn
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\acorn' -> 'C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\.acorn.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\MiguelFrias\AppData\Roaming\npm-cache\_logs\2018-04-04T11_54_23_587Z-debug.log

知道会发生什么。

【问题讨论】:

  • 尝试在 Dropbox 中的文件夹中安装 Express 时遇到了与此非常相似的情况。因此,我将其安装到 Dropbox 外部的临时文件夹中,并将其复制进去,这解决了我的问题。很烦人。
  • @kebman : 在尝试了一些建议之后,你拯救了我的一天:dropbox,,,,

标签: npm npm-install npm-scripts


【解决方案1】:

第二行可能会提示正在发生的事情:

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Error: EPERM: operation not permitted, rename 'C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\.staging\fsevents-e80c4ef4\node_modules\are-we-there-yet' -> 'C:\Users\MiguelFrias\Desktop\Therabytes\node_modules\.staging\are-we-there-yet-5db4c798'

看起来 npm 对您尝试使用的文件夹没有足够的权限。

你可以试试:

  • 再次删除 npm_modules。
  • 以管理员权限打开您正在使用的任何编辑器/终端到npm install

【讨论】:

  • 我正在使用指挥官(Cmder),我已经尝试删除 node_modules 并以管理员身份运行终端,但仍然发生同样的情况
【解决方案2】:

我找到了问题的解决方案,显然是最后一个版本的 npm 出现了一些问题,我使用的是npm version 5.6.0,然后我降级到了npm version 5.3.0。毕竟这确实有效,在安装了几个包后我仍然得到同样的错误。

好的,为最后一个 version 5.8.0 更改 npm 版本,现在一切正常,之前是 atom 的某种问题,拒绝了构建过程安装包依赖项的权限。

【讨论】:

    【解决方案3】:

    只需删除 package-lock.json 文件,然后安装包,这就是您所需要的并且应该可以工作

    rm package-lock.json && npm i
    

    【讨论】:

    • 非常感谢。救了我一天!会是这个问题的原因吗?
    • 安装包的时候应该停止 yarn 或 npm 脚本,然后再运行
    • 您能解释一下为什么会发生这种情况以及为什么需要删除 lock.json 吗?
    • 这个文件 package-lock.json 在哪里?
    • 这对我不起作用,因为安装全局软件包时发生错误。运行 npm cache verify 成功了。
    【解决方案4】:

    当我收到此错误时,我在任务管理器中查找所有正在运行的节点实例(我在 Windows 上使用进程资源管理器)并关闭/终止所有正在运行的节点实例。对我来说,它经常是 webstorm 或 vs code。关闭这些程序并确保没有运行节点进程后,npm install 再次工作。

    【讨论】:

    • 是的,其中一个节点应用程序正在从另一个终端运行。我就是这种情况
    • 它为我解决了。如果我们在 Windows 任务管理器中有许多实例节点进程,则 NPM 不适用于 WSL。
    • 在我的例子中,这些节点实例是由 VSCode 调用的。
    • 是的,关闭 VSCode 有帮助
    【解决方案5】:

    为了不每次都删除package-lock.json或node_modules,只需添加内容为“package-lock=false”的文件“.npmrc”,如果文件“.npmrc”已经存在,则添加此字符串。

    【讨论】:

      【解决方案6】:

      删除 package-lock.json 或 node_modules & 运行后:

      npm install -g npm
      

      它又对我有用了。

      【讨论】:

        【解决方案7】:

        我刚刚尝试运行

        npm install 
        

        成功了

        【讨论】:

          【解决方案8】:

          对我来说,package-lock.json 没有创建,并且脚本本身就失败了。

          这解决了我的问题:

          - deleted my node_modules.
          - npm cache clean 
          - opened cmd as administrator at the repository folder
          - logged-in to the https://registry.npmjs.org/ using username and passoward as few of my components needed authentication to install.
          - npm i
          
          

          【讨论】:

            【解决方案9】:

            cache verify 命令为我解决了这个问题

            npm cache verify
            

            【讨论】:

              【解决方案10】:

              您可以尝试使用命令 rm package-lock.json 删除 package-lock.json,然后转到 Node.JS 网站,通过 LTS 进行“安装”,然后在更新节点后运行 npm install在您的终端中,这对我有用。

              【讨论】:

                【解决方案11】:

                实际上,您正在安装的当前软件包有一些依赖项,我的 npm 找不到这些依赖项。因此,在安装此软件包之前,只需执行以下命令。 (它将安装您在 package.json 文件中提到的所有列出的依赖项,这些依赖项是运行您的应用程序所必需的)

                npm install 
                

                它有效...!

                【讨论】:

                  【解决方案12】:

                  我正在使用
                  -节点 v15.5.0

                  -npm v6.14.10

                  试试这个:

                  1. 关闭“展会开始”
                  2. 删除“package-lock.json”
                  3. 立即尝试安装软件包

                  示例:npm i @react-navigation/native

                  这将解决问题。

                  【讨论】:

                    【解决方案13】:

                    这对我有用,

                    rm -rf ./**/node_modules
                    

                    虽然我需要lerna bootstrap

                    【讨论】:

                      【解决方案14】:

                      只需将节点更新到最新版本。 它解决了我的问题。

                      【讨论】:

                        【解决方案15】:

                        如果您遇到此错误,请按照以下步骤进行修复:

                        删除节点模块文件夹 运行命令 npm cache clean --force 运行命令 npm install 使用 npm install your-package-name 再次安装包

                        【讨论】:

                          【解决方案16】:

                          我在 Ubuntu wsl 中运行命令,但它不起作用,所以我尝试在 cmd 提示符下运行,它起作用了

                          【讨论】:

                            【解决方案17】:

                            我删除了node_modulespackage_lock.json。然后,npm install 就可以了

                            【讨论】:

                              【解决方案18】:

                              请检查任何 package.json 是否在任何地方打开,然后先关闭它然后重试。

                              【讨论】:

                              • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
                              【解决方案19】:

                              对我来说,我刚刚删除了 package-lock.jsonnode_modules 文件夹。现在一切正常?

                              【讨论】:

                                【解决方案20】:

                                另一件事我在已经存在并经历了多个贡献者的项目中看到了很多:

                                • 仔细检查您的团队中是否有人同时完​​成了npm installyarn

                                明显的迹象是你会在同一个 repo 中看到 package-lock.json(由 npm 生成)和 yarn-lock.json(由 yarn 生成)。这可能会导致 node_modules 文件夹中的冲突产生副作用。

                                您可以尝试在本地转储该文件夹,为您的项目建立一个选择的包管理器并指导整个团队最佳实践。

                                【讨论】:

                                  【解决方案21】:

                                  对我来说,我必须 sudo npm install 命令。不知道为什么……我也不想知道。

                                  sudo npm install --save-dev my_package
                                  

                                  【讨论】:

                                    【解决方案22】:

                                    这些步骤对我有用:

                                        1. run "npm cache verify" or 
                                        2. remove node_modules and package-lock.json
                                    and rerun command)
                                    

                                    【讨论】:

                                      【解决方案23】:

                                      有时这可能是您尝试安装的软件包的问题。如果该包是本地包并且有一个 node_modules 文件夹。试试:

                                      cd /path/to/package
                                      rm -rf package-lock.json npm-shrinkwrap
                                      npm install
                                      

                                      【讨论】:

                                        【解决方案24】:

                                        我在编写 react native app with expo 时发生过, 当我运行应用程序并尝试安装表单 npm 时发生该错误。 所以只需停止运行应用程序并重新安装软件包 对我来说效果很好

                                        【讨论】:

                                          猜你喜欢
                                          • 2019-10-15
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2017-01-15
                                          • 2014-05-24
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2021-07-01
                                          • 2021-12-21
                                          相关资源
                                          最近更新 更多