nodejsをインストールしようとしたら壊れてしまったので無理やり直した
ローコスト記事。ごめんなさい。
環境
ubuntu 16.04
発生した現象
$ sudo apt install nodejs npm $ sudo apt install nodejs-legacy $ npm -v /usr/local/lib/node_modules/npm/bin/npm-cli.js:84 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
変な言語バージョン管理ツールを導入したら発生するような気がする。
状況確認
$ which node /usr/bin/node $ which nodejs /usr/bin/nodejs
🤔
$ sudo apt remove nodejs npm $ sudo apt install nodejs $ nodejs -v v4.2.6
🤔🤔🤔
この後にもう一度 which
とか確認操作したと思うんですが、ログ撮ってなかった…
解決策
公式サイトからバイナリをダウンロードして bin
の中身を /usr/local/bin/
に配置。
node-v10.16.0-linux-x64.tar.xz
がダウンロードしたファイルです。
$ tar Jxfv node-v10.16.0-linux-x64.tar.xz $ cd node-v10.16.0-linux-x64/bin $ sudo cp * /usr/local/bin/ $ npm -v 6.9.0 $ node -v v10.16.0
apt upgrade 出来ないじゃんと思ったけど npm でアップグレード出来るから要らない…要らないのか?🤔