我刚刚升级到节点版本9.0.0,现在尝试使用npm install时在命令行中出现此错误
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'internal/util/types'
我正在使用:
额外信息:我也在尝试使用Laravel 5.5项目。这是我更新节点版本的方式:How do I update Node.js?
答案 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)
如果上述所有解决方案均无效,请检查复制路径的文件夹/文件中是否有空格