Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js npm在Mac Big Sur上出现错误,无法安装或运行_Node.js_Npm - Fatal编程技术网

Node.js npm在Mac Big Sur上出现错误,无法安装或运行

Node.js npm在Mac Big Sur上出现错误,无法安装或运行,node.js,npm,Node.js,Npm,我刚刚用下面的命令安装了node,下面是输出 $brew安装节点 $node-v v9.4.0 $command-v节点 /usr/local/bin/node $ls-l/usr/local/bin/node -rwxr-xr-x 1 icyborg wheel 35697312 Jan 14 2018 /usr/local/bin/node 跑步后 $brew升级节点 警告:节点15.9.0已安装 但当我这么做的时候 $node-v v9.4.0 现在当我试着去做 npm -v

我刚刚用下面的命令安装了node,下面是输出

$brew安装节点

$node-v

v9.4.0
$command-v节点

/usr/local/bin/node
$ls-l/usr/local/bin/node

-rwxr-xr-x  1 icyborg  wheel  35697312 Jan 14  2018 /usr/local/bin/node
跑步后

$brew升级节点

警告:节点15.9.0已安装

但当我这么做的时候

$node-v v9.4.0

现在当我试着去做

npm -v
它给出了这个错误

TypeError: Cannot destructure property `stat` of 'undefined' or 'null'.
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/@npmcli/node-gyp/lib/index.js:2:29)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js:4:55)
    at Module._compile (module.js:660:30)
/usr/local/lib/node_modules/npm/node_modules/@npmcli/config/lib/index.js:163
      throw new Error('call config.load() before reading values')
      ^

它现在正在工作。Node.js 9已经不受支持大约3年了。您看到的错误很可能是由于将旧的Node.js与新的npm一起使用造成的

当我运行
brew信息节点
时,它会显示15.2.0可用。因此,要么您的
brew
安装出现问题,要么您的路径(或作为别名)中的某个地方有一个旧版本的Node.js,它运行的不是
brew
安装的版本

运行
命令-v node
以了解正在执行的node.js。如果它不是以
/usr/local/bin/node
开头,那么这就是您的问题。如果它是
/usr/local/bin/node
,请运行
ls-l/usr/local/bin/node
,以确保它是指向
/usr/local/cillar/node
中某个内容的链接。如果不是,那是你的问题。。。(编辑#2:…并作为注释中的操作说明,
brew链接——覆盖节点
为他们修复了该问题。因此,阅读本文的任何其他人都可以尝试。)


编辑#1:因为您已经用上述信息更新了问题:看起来您大概在3年前用常规安装程序安装了Node.js 9,而不是
brew
。同样,您可以通过使用brew卸载并使用
nvm
重新安装来避免所有这些麻烦,如下一段所述

通常,如果在个人计算机上而不是服务器上安装Node.js,我建议卸载
brew
版本并使用每用户版本管理器安装。这是一个可靠的选择:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

我已经用输出更新了这个问题。看起来您大概在3年前用常规安装程序而不是brew安装了Node.js 9。同样,您可以通过使用brew卸载并使用nvm重新安装来避免所有这些麻烦,如回答的最后一段所述。谢谢。我运行了brew链接--覆盖节点,它解决了这个问题。现在node-v显示为15,npm也在工作。啊,酷,我将把它添加到答案中,这样其他出现在这里的人都能轻松找到它。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash