节点MODULE_NOT_FOUND

时间:2017-11-02 19:39:14

标签: node.js npm laravel-5.5

我刚刚升级到节点版本9.0.0,现在尝试使用npm install时在命令行中出现此错误

npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'internal/util/types'

我正在使用:

  • OSX 10.10.5
  • 节点版本9.0.0
  • NPM版本5.5.1

额外信息:我也在尝试使用Laravel 5.5项目。这是我更新节点版本的方式:How do I update Node.js?

6 个答案:

答案 0 :(得分:21)

运行

rm -rf /usr/local/lib/node_modules/npm 

然后重新安装Node.js将在大多数情况下工作

答案 1 :(得分:3)

我刚刚升级了节点js后,在Windows 8上也遇到了类似的错误。首先:我是怎么遇到问题的,然后是对我有用的解决方案。

我如何处理此问题: 当我执行npm --version和node --version时,我发现我当时正在运行npm v3.x和node5.x。因此,我从下载了node-v8.11.3-x64.msi的站点访问了nodejs.org。安装完msi软件包后,我通过node --version命令确认了我的nodejs版本现在是v8.11.3。

然后,当我运行“ npm install http-server”(不带引号)时,就是我遇到的问题:

npm错误! 节点v8.11.3 npm ERR! npm v3.5.3 npm ERR!代码MODULE_NOT_FOUND

我的分辨率: 我进行了一些研究,包括在Internet上,发现路径中指向的npm版本是漫游配置文件C:\ Users [myname.hostname] \ AppData \ Roaming \ npm中的版本。换句话说,正在使用的npm不是我刚安装的更新软件包中的npm,它位于C:\ Program Files \ nodejs。

解决方法是删除漫游文件夹中的npm和npm-cache。注意,由于无法通过Windows cmd提示符删除这些文件夹,因此使用了cygwin。使用cygwin,我导航到

cd“ C:\ Users [myname.hostname] \ AppData \ Roaming”

然后我像这样删除了上述文件夹

rm -rf npm-cache rm -rf npm

之后,我打开了一个新的Windows cmd提示符,现在能够像这样成功地安装http-server:

npm安装http服务器

希望这对您有用。

答案 2 :(得分:1)

将此留给使用n nodejs版本管理器的任何人:

$ n 6.12.0 # Go back to a stable release
$ npm install -g npm@latest # Update npm to latest
$ n lts # Get 8.9.1
$ npm install #Should work now.

当在节点版本之间进行更改并且某些文件可能仍在缓存时,似乎发生了MODULE_NOT_FOUND错误。我不确定,但上面的命令序列对我有用。

答案 3 :(得分:1)

当我第一次遇到这个问题时,我解决了再次运行“ npm install”以确保所有内容都已安装的问题。

答案 4 :(得分:0)

如果使用的是库,请确保在开始之前使用npm或yarn安装所有组件。对于文件,如果要使用它们,请确保每次都执行export.module。

答案 5 :(得分:0)

如果上述所有解决方案均无效,请检查复制路径的文件夹/文件中是否有空格