我正在尝试运行npm install
以获得我所拥有的一个由ember驱动的小网站,但它会引发以下错误:
npm ERR! path /Projects/Etc/Admin/cuscus/node_modules/npm/node_modules/dezalgo npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/Projects/Etc/Admin/cuscus/node_modules/npm/node_modules/dezalgo' -> '/Projects/Etc/Admin/cuscus/node_modules/npm/node_modules/.dezalgo.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! /Users/mick/.npm/_logs/2018-01-09T01_18_51_322Z-debug.log
如果我完全删除了node_modules
目录,那么再次运行npm install
它似乎可行,但再次运行它会失败。
答案 0 :(得分:4)
你可以尝试的是:
请确保在管理员模式下使用cmd promt。
如果您使用VS Code,请终止所有节点procceses。关闭它然后再试一次。
其中一个可以提供帮助。但不确定。此问题的问题状态暂时打开。 https://github.com/npm/npm/issues/17444
答案 1 :(得分:1)
我在设置新机器时遇到了这个问题。缓存清理/卸载/重新安装步骤都不适用于我。
但是,我能够通过将npm更新到最新版本来解决它。我安装了5.6.0,但使用npm-windows-upgrade安装最新版本(5.7.1)清除了依赖性问题。
有关在Windows上升级npm的更多信息,请参阅此答案: https://stackoverflow.com/a/31520672/91189
答案 2 :(得分:1)
最有可能发生这种情况的原因是,您更新了节点版本,并且由于您可能已经在该特定更新之前将此存储库安装在计算机上,因此package-lock.json
文件的唯一目的是跟踪您的当前和过去状态。 node_modules文件并维护非常更新的dependency tree
,以便在使用代码的实体之间安装完全相同的依赖项将保持一致性;
使用您的代码的实体包括
Teammates
部署(AWS ECS),
和持续集成工具(如Travis CI)正在运行您的代码,
尝试删除package-lock.json
文件。运行npm install
命令,就可以了。
您应该尝试做的最后一件事是,如果不确定自己在做什么,则删除丢失的软件包,通常最好避免这种情况。
祝你好运。