手动升级npm后如果nodejs版本不够高会造成nodejs和npm不能运行,npm依赖nodejs,所以npm会运行不了,最终死循环。我手动下载nodejs都装不上,弄得我不得不重装系统来解决。
同样被坑,如果报错:
sudo npm install -g n
/usr/local/lib/node_modules/npm/bin/npm-cli.js:79
let notifier = require('update-notifier')({pkg})
^^^
SyntaxError: Block-scoped declarations (let, const, function, class)
not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
则只需要删除安装的npm
cd /usr/local/lib/node_modules
mv npm/ /tmp/usr_local_lib_node_modules_npm
然后重新执行
sudo npm install -g n
sudo n stable
就好了,结果如下
sudo n stable
install : node-v10.6.0
mkdir : /usr/local/n/versions/node/10.6.0
fetch : https://nodejs.org/dist/v10.6.0/node-v10.6.0-linux-x64.tar.gz
######################################################################## 100.0%
installed : v10.6.0
网友评论