在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
之后,当$ n之前的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"
这也不起作用。
答案 0 :(得分:19)
brew uninstall --force node
brew install node
答案 1 :(得分:5)
假设这是在MacOS上发生的,下面的解决方案适用于我。
答案 2 :(得分:3)
这是在安装纱线后发生的。
在终端机上:
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
答案 3 :(得分:2)
升级Mac后出现问题。我在堆栈溢出时尝试了其他可用的解决方案,但对我没有任何帮助。
此解决方案对我有用。
brew uninstall --force node
brew install node
首先,请删除所有可用的节点版本。
完成。享受编码。
答案 4 :(得分:1)
试试这个:https://gist.github.com/DanHerbert/9520689
&#34;如果您是Homebrew用户,并且您通过Homebrew安装了节点,那么Homebrew和NPM一起工作的方式存在一个重大的哲学问题。&#34;
对Dan Herbert的解决方案表示赞赏。
答案 5 :(得分:1)
删除以下文件夹中的所有文件
A)C:\ Users \\ AppData \ Roaming \ npm
B)C:\ Users \\ AppData \ Roaming \ npm-cache
然后再次install node
然后执行命令“ npm install -g @angular/cli
”
答案 6 :(得分:1)
其他回答都没有解决我的问题。重新安装Node之后,我仍然遇到相同的错误(即使我刚刚写了npm -v
)。
我遵循了this answer here(删除了称为node和npm的所有内容),这为我解决了这一问题。
答案 7 :(得分:1)
尝试了这些最终对我有用的建议之后,另一个建议就是通过从此处通过下载和软件包安装程序下载最新版本来简单地升级节点:
https://nodejs.org/en/download/
在执行此操作之前,尝试运行任何npm命令都给了我与OP问题相同的错误
此后,npm命令开始为我工作。
答案 8 :(得分:0)
很抱歉,但是在我的情况下,我遇到了相同的错误,因为我的index.js位于de src文件夹中,请确保您位于index.js的seme目录中才能运行
答案 9 :(得分:0)
就我而言,该问题的解决方案是使用https://nodejs.org(Mac OS)中的官方安装程序重新安装该节点。
解决方案:
P.S。。安装纱线后出现问题。
答案 10 :(得分:0)
就我而言,这是在我对所有node_modules文件夹执行了计算机范围的清理之后发生的。我安装了nvm的节点,无论我要触发与节点相关的任何操作,我都开始收到此错误:
Error: Cannot find module '../lib/utils/unsupported.js'
我通过以下操作解决了该问题:
答案 11 :(得分:-1)
我在Mac上brew upgrade
后遇到了同样的错误。
我做了brew postinstall node
并修复了它。