npm: ENOENT: 没有该文件或目录

5
我正在使用npm 3.3.6,当我尝试安装一堆模块时,会出现下面的错误: npm i babel-cli babel-plugin-syntax-async-functions babel-plugin-transform-regenerator babel-polyfill babel-preset-es2015 babelify watchify browserify --save-dev
npm ERR! Darwin 15.0.0
npm ERR! argv "/Users/thomas/.nvm/versions/node/v5.0.0/bin/node" "/Users/thomas/.nvm/versions/node/v5.0.0/bin/npm" "i" "babel-cli" "babel-plugin-syntax-async-functions" "babel-plugin-transform-regenerator" "babel-polyfill" "babel-preset-es2015" "babelify" "watchify" "browserify" "--save-dev"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6
npm ERR! path /Users/thomas/Desktop/esnext-bootstrap/node_modules/babel-cli/node_modules/chokidar/node_modules/fsevents/node_modules/asn1
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename

npm ERR! enoent ENOENT: no such file or directory, rename '/Users/thomas/Desktop/esnext-bootstrap/node_modules/babel-cli/node_modules/chokidar/node_modules/fsevents/node_modules/asn1' -> '/Users/thomas/Desktop/esnext-bootstrap/node_modules/asn1'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/thomas/Desktop/esnext-bootstrap/npm-debug.log

我不知道这里发生了什么或者是哪个模块导致了这个问题。我可以看到它涉及babel-clichokidarans1,但当我单独安装babel-cli时,它却没有出现错误。

我只是逐个安装每个模块,然后它就正常工作了。


我刚刚进行了完整的测试,分别安装每个模块和一起安装,没有出现任何错误。我两次都删除了 node_modules 文件夹。如果有人想要重新创建,请使用此起始存储库 - ThomasReggi
3个回答

2

我看到了一个类似的问题。当 node_modules 目录存在并运行 npm install 时,会发生一些名称冲突。如果您删除 node_modules 目录,则不会出现此问题。


如果您正在全局安装,则需要在全局副本上删除node_modules文件夹。感谢@martin提供的答案。 - rugg

2

我曾经遇到一个非常类似的问题,原因是我试图在Ubuntu中从已挂载的HGFS卷中进行npm安装。

这是因为我使用VMWare Fusion在OSX上虚拟化Ubuntu,然后在Ubuntu中挂载共享的OSX目录。

在非挂载目录(即我的Ubuntu主文件夹)中使用相同源的另一个npm安装按预期工作。


啊,说得好,运行在不允许符号链接的文件系统上会破坏构建(因此也包括Windows共享)。 - voneiden

0

当我遇到这个错误时,我会在任务管理器中杀死/关闭所有正在运行的node实例(在Windows上使用进程资源管理器)。通常是vscode或webstorm有一个正在运行的node进程。对于我来说,在关闭这些程序并确保没有正在运行的node进程后,npm install现在将再次正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接