安装$ npm后,获取错误:找不到模块'../lib/utils/unsupported.js'

big*_*cup 19 javascript node.js npm reactjs

我刚刚在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)
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

$brew update
$brew uninstall node
$brew install node
Run Code Online (Sandbox Code Playgroud)

之后,当$ n npm是未知命令时,会出现以下命令:

$which npm
/usr/local/bin/npm

$which node
/usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)

我甚至试过跑:

/usr/local/bin/npm -v
Run Code Online (Sandbox Code Playgroud)

但是得到与上面相同的错误

/usr/local/bin/node -v
v9.11.1
Run Code Online (Sandbox Code Playgroud)

工作良好.

将以下内容添加到我的.zshrc文件中:

export PATH=/usr/local/bin/node:$PATH
export PATH=/usr/local/bin/npm:$PATH
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

$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    
Run Code Online (Sandbox Code Playgroud)

然后,

$node install
Run Code Online (Sandbox Code Playgroud)

但这也行不通.

$echo $NODE_PATH
Run Code Online (Sandbox Code Playgroud)

确实是空的,所以我可能需要在我的.bashrc中添加以下内容.

export PATH="/usr/local/bin/npm:/usr/local/bin/node:/usr/local/bin:$PATH" 
Run Code Online (Sandbox Code Playgroud)

这也行不通.

Luc*_*pes 26

  1. 卸载节点 brew uninstall --force node
  2. 再次安装 /usr/local/lib/node_modules

  • 同样对我来说,但我必须在重新安装之前摆脱"/ usr/local/lib/node_modules /"下的模块文件. (5认同)
  • 也为我工作,但只有在删除`/usr/local/lib/node_modules`之后 (2认同)
  • 首先应该安装brew命令:sudo apt install linuxbrew-wrapper运行1.卸载节点命令后,然后使用以下命令删除文件夹:sudo rm -r /usr/local/lib/node_modules。最后运行3并按Enter键 (2认同)

Pop*_*eye 8

假设这是在MacOS上发生的,下面的解决方案适用于我。

  1. brew卸载--force节点
  2. 访问https://nodejs.org/en/并下载LTS版本并安装,错误消失了


T. *_*yya 7

安装纱线后,这发生在我身上。

在终端中:

brew uninstall --force --ignore-dependencies node
brew install node
Run Code Online (Sandbox Code Playgroud)

如果您在符号链接节点时遇到问题,请在同一终端中:

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
Run Code Online (Sandbox Code Playgroud)

通过在终端中键入以下内容来检查您的重新安装是否有效:

node -v
Run Code Online (Sandbox Code Playgroud)