Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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更新中断了npm_Node.js_Linux_Npm - Fatal编程技术网

Node.js npm更新中断了npm

Node.js npm更新中断了npm,node.js,linux,npm,Node.js,Linux,Npm,我只是跟着更新了npm(因为我的点头摄像头模块不工作),然后运行 但现在我的npm安装似乎完全崩溃了。如果我只是打字 npm 或 我明白了 /usr/local/lib/node_modules/npm/bin/npm cli.js:79 let notifier=require('update-notifier')({pkg}) ^^^ SyntaxError:块作用域声明(let、const、函数、类) 在严格模式外尚不支持 我试过了 sudo apt-get remove npm sud

我只是跟着更新了npm(因为我的点头摄像头模块不工作),然后运行

但现在我的npm安装似乎完全崩溃了。如果我只是打字

npm

我明白了

/usr/local/lib/node_modules/npm/bin/npm cli.js:79 let notifier=require('update-notifier')({pkg}) ^^^

SyntaxError:块作用域声明(let、const、函数、类) 在严格模式外尚不支持

我试过了

sudo apt-get remove npm
sudo apt-get install npm
但是重新安装没有帮助


我认为我的节点版本需要从v4.8.2升级,但我认为只有使用npm才能升级?

您可能安装了两次npm,一个在
/usr/local/bin
中,另一个在
/usr/bin

首先,您可以尝试删除通过升级
npm
安装的
npm
模块。尝试运行以下命令:

  • rm-r/usr/local/lib/node\u模块/npm
  • /usr/bin/npm卸载npm
一旦有了运行版本的npm,请在升级npm之前安装较新版本的node。然后,删除linux发行版的版本

如果第一个解决方案不起作用,另一种方法是安装node的最新版本(当然不使用npm)

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
(centos的解决方案……我想它也适用于ubuntu):

为了彻底清理我的centos机器,我还做了以下工作-我的用户是“centos”,我家是/home/centos:

sudo rm -rf /usr/local/bin/npm 
sudo rm -rf /usr/local/bin/npx
sudo rm -rf /usr/lib/node_modules/
sudo rm -rf /usr/bin/npm
sudo rm -r /usr/local/lib/node_modules/
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/bin/npm
sudo rm -rf /usr/lib/node_modules/
rm -rf /home/centos/.npm/
rm -rf /home/centos/node*
rm -rf /home/centos/.node-gyp/
sudo rm -rf /root/.npm/
sudo rm /usr/bin/node
sudo rm -rf /usr/local/include/node
仅在此时,我才重新安装:

wget http://nodejs.org/dist/latest/node-v11.4.0-linux-x64.tar.gz
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local
事情又开始起作用了:

node --version
v11.4.0
npm --version
6.4.1

对于那些使用谷歌查找此信息的用户,您可能会尝试通过
curl-sLhttps://deb.nodesource.com/setup_10.x |sudo-E bash-
然后使用
sudo apt install nodejs安装


然而,无论如何,我还是遇到了这个问题。请记住npm@6已放弃对node@的支持如果您使用nvm安装npm和node,请尝试此解决方案

  • 了解当前使用的节点和npm的安装位置:

    哪个节点

    在我的例子中,它是
    /home/ubuntu/.nvm/versions/node/

  • 现在,使用以下命令删除节点的所有版本:

    sudorm-rf/home/ubuntu/.nvm/versions/node/

  • 现在可以使用nvm安装所需版本的node和npm

    nvm安装4.9.1


  • 其他的答案在Ubuntu上对我不起作用,结果是一条死胡同,npm坏了,或者无法重新安装/更新npm

    我使用的自由基溶液:

    1/删除节点的所有痕迹。遵循此页面,使用底部的remove.sh脚本:

    2/然后使用最新安装脚本从头开始重新安装nodejs+npm:

    对于我来说,重新安装npm工作正常:

    npm install -g npm
    

    运行:/usr/bin/npm uninstall npm gives me:/usr/bin/npm:没有这样的文件或目录运行:/usr/local/bin/npm uninstall npm gives:/usr/local/lib/node_modules/npm/bin/npm cli.js:79 let notifier=require('update-notifier')({pkg})^^语法错误:块范围声明(let、const、函数、类)尚未在外部严格支持mode@Wayneio
    rm-r/usr/local/lib/node_modules/npm
    ?@MaximeChéramy谢谢,它为您工作了。你救了我一天。我只需要
    rm-r/usr/local/lib/node\u modules/npm
    。谢谢这个()链接的一个小改动失败了,请使用新的findlinuxx64并手动下载(因为我们还不能提供一种自动方式)。那么一切都好了:-)它也适用于非centos。我有Ubuntu14.0LTS,它很管用。这对我很管用。谢谢@Achint Sharma
    node --version
    v11.4.0
    npm --version
    6.4.1
    
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
    
     nvm install 10.15.3
    
    npm install -g npm