NPM:ENOENT:没有这样的文件或目录,重命名
Posted
技术标签:
【中文标题】NPM:ENOENT:没有这样的文件或目录,重命名【英文标题】:NPM: ENOENT: no such file or directory, rename 【发布时间】: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,,,, 【参考方案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
试试这个:
-
关闭“展会开始”
删除“package-lock.json”
立即尝试安装软件包
示例: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_modules
和package_lock.json
。然后,npm install
就可以了
【讨论】:
【参考方案18】:请检查任何 package.json 是否在任何地方打开,然后先关闭它然后重试。
【讨论】:
请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。【参考方案19】:对我来说,我刚刚删除了 package-lock.json 和 node_modules 文件夹。现在一切正常?
【讨论】:
【参考方案20】:另一件事我在已经存在并经历了多个贡献者的项目中看到了很多:
仔细检查您的团队中是否有人同时完成了npm install
和yarn
。
明显的迹象是你会在同一个 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 时发生该错误。 所以只需停止运行应用程序并重新安装软件包 对我来说效果很好
【讨论】:
以上是关于NPM:ENOENT:没有这样的文件或目录,重命名的主要内容,如果未能解决你的问题,请参考以下文章
ENOENT:运行 npm install 命令时没有这样的文件或目录
NPM 安装在 docker 容器中失败 - npm WARN tar ENOENT:没有这样的文件或目录
npm 错误! Windows_NT 6.1.7601:ENOENT:没有这样的文件或目录
npm ENOENT 没有这样的文件或目录,打开 path/package.json
docker-compose 无法以 npm ERR 启动! enoent ENOENT:没有这样的文件或目录,打开'/usr/src/app/package.json'