安装 $npm 后,出现错误:找不到模块 '../lib/utils/unsupported.js'
Posted
技术标签:
【中文标题】安装 $npm 后,出现错误:找不到模块 \'../lib/utils/unsupported.js\'【英文标题】:After $npm install, Getting Error: Cannot find module '../lib/utils/unsupported.js'安装 $npm 后,出现错误:找不到模块 '../lib/utils/unsupported.js' 【发布时间】:2018-09-16 00:19:39 【问题描述】:在 Rails 环境中工作后,我刚回来做一个 React 项目,发现我无法在我的 Mac 终端中运行任何 NPM 命令。我已经尝试了所有我遇到的补救措施,但没有一个有效。更大的问题是造成这种情况的原因以及我该如何避免再次发生这种情况。
这是错误。我需要做什么?请帮忙。
$npm install
internal/modules/cjs/loader.js:550
throw err;
^
Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
at Function.Module._load (internal/modules/cjs/loader.js:475:25)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (internal/modules/cjs/helpers.js:11:18)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
我尝试了以下方法:
$brew update
$brew uninstall node
$brew install node
当 $which npm 之前是未知命令时,会出现以下命令:
$which npm
/usr/local/bin/npm
$which node
/usr/local/bin/node
我什至尝试过跑步:
/usr/local/bin/npm -v
但得到与上面相同的错误
/usr/local/bin/node -v
v9.11.1
工作正常。
将以下内容添加到我的 .zshrc 文件中:
export PATH=/usr/local/bin/node:$PATH
export PATH=/usr/local/bin/npm:$PATH
我也试过了:
$brew uninstall --force node
$brew link --overwrite node
Warning: Already linked: /usr/local/Cellar/node/9.11.1
To relink: brew unlink node && brew link node
$rm -rf /usr/local/lib/node_modules/npm
那么,
$node install
但这也不起作用。
$echo $NODE_PATH
确实是空的,所以我可能需要将以下内容添加到我的 .bashrc 中。
export PATH="/usr/local/bin/npm:/usr/local/bin/node:/usr/local/bin:$PATH"
这也不行。
【问题讨论】:
你的代码中有require('../lib/utils/unsupported.js')
吗?
不,我没有提到 unsupported.js。 NPM 命令不适用于任何项目或目录。
看来我可以通过从 nodejs.org 下载和安装 Node 来解决这个问题。是否 $brew 卸载 --ignore-dependencies 节点,然后从 nodejs.org 下载并安装。我不知道为什么 Node 和 NPM 的 brew 安装停止工作。如果有人有任何想法,请告诉我。
相关问题:github.com/nodejs/node/issues/19997
下面写的答案都没有解决我的问题。
【参考方案1】:
-
卸载节点
brew uninstall --force node
删除/usr/local/lib/node_modules
文件夹
重新安装brew install node
【讨论】:
对我来说也一样,但在重新安装之前,我必须删除“/usr/local/lib/node_modules/”下的模块文件。 也为我工作,但仅在删除/usr/local/lib/node_modules
此处相同,仅在删除/usr/local/lib/node_modules
文件夹后才有效。 @Lucas Lopes,也许更新您的答案以添加?
我只需要删除 /usr/local/lib/node_modules/npm
而不是整个文件夹 /usr/local/lib/node_modules
首先应该安装 brew 命令:sudo apt install linuxbrew-wrapper 运行 1.uninstall node 命令后,然后使用此命令删除文件夹:sudo rm -r /usr/local/lib/node_modules。最后运行 3 并回车【参考方案2】:
假设这发生在 MacOS 上,以下解决方案适用于我。
-
brew 卸载 --force 节点
访问https://nodejs.org/en/并下载LTS版本并安装,错误消失了
【讨论】:
【参考方案3】:安装yarn后发生在我身上。
在终端中:
brew uninstall --force --ignore-dependencies node
brew install node
如果您在符号链接节点时遇到问题,请在同一终端中:
sudo chown -R `whoami`:admin /usr/local/include
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/lib
brew link --overwrite node
通过在终端中键入以下内容来检查您的重新安装是否有效:
node -v
【讨论】:
【参考方案4】:我在升级我的 mac 后遇到了问题。我尝试了不同的堆栈溢出解决方案,但对我没有任何作用。
这个解决方案对我有用。
-
卸载节点所有版本
brew uninstall --force node
通过这个brew install node
再次安装
如果可用,首先删除所有节点版本。
完成。享受编码。
【讨论】:
【参考方案5】:试试这个:https://gist.github.com/DanHerbert/9520689
“如果您是 Homebrew 用户并且您通过 Homebrew 安装了节点,那么 Homebrew 和 NPM 协同工作的方式存在一个重大的哲学问题。”
感谢 Dan Herbert 的解决方案。
【讨论】:
他对 --without-npm 的建议对我不起作用。这是一个无效的选项【参考方案6】:从以下文件夹中删除所有文件
A)C:\Users\\AppData\Roaming\npm
B)C:\Users\\AppData\Roaming\npm-cache
又是install node
然后执行命令“npm install -g @angular/cli
”
【讨论】:
【参考方案7】:其他回答都没有解决我的问题。重新安装 Node 后,我仍然遇到同样的错误(即使我刚刚写了npm -v
)。
我关注了this answer here(删除了 everything 称为 node 和 npm),它为我解决了这个问题。
【讨论】:
【参考方案8】:就我而言,问题的解决方案是使用来自https://nodejs.org (Mac OS) 的官方安装程序重新安装节点。
解决方案:
-
从https://nodejs.org下载节点安装程序
安装它
P.S.安装yarn后出现问题。
【讨论】:
【参考方案9】:尝试这些最终对我有用的另一个建议是通过从这里下载和包安装程序下载最新版本来升级我的节点:
https://nodejs.org/en/download/
在尝试运行任何 npm 命令之前,我遇到了与 OP 的问题相同的错误
在那之后,npm 命令开始为我工作。
【讨论】:
【参考方案10】:很抱歉,但在我的情况下,我遇到了同样的错误,因为我的 index.js 在 de src 文件夹中,请确保您在 index.js 的 seme 目录中运行
【讨论】:
【参考方案11】:就我而言,这发生在我对所有 node_modules 文件夹执行机器范围的清理之后。我使用nvm 安装了节点,并且我开始收到此错误,无论我想触发什么与节点相关的操作:
Error: Cannot find module '../lib/utils/unsupported.js'
我通过以下方式解决了这个问题:
-
重新启动我的电脑
Uninstalled nvm
安装了不同的节点版本
【讨论】:
【参考方案12】:brew upgrade
on mac 之后我遇到了同样的错误。
我做了brew postinstall node
并修复了它。
【讨论】:
以上是关于安装 $npm 后,出现错误:找不到模块 '../lib/utils/unsupported.js'的主要内容,如果未能解决你的问题,请参考以下文章
出现错误,错误:npm install 后找不到模块“express”
npm 不起作用,总是出现这个错误 -> 错误:找不到模块'are-we-there-yet'