かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

久しぶりにNodeを動かしたらエラーが出た。バージョンアップした。

Vue.jsのオンラインコースに引き続き、テスティングのオンラインコースを受けてた。英語が嫌でなければこのサービストータルで30分くらいの動画のコースでまずはちょっと触ってみるのにはいいコースだと思う。Vue.js入門とか良い感じ。3,4個のコースが無料なのでちょっと手が空いた時に良いです。

vueschool.io

で、受けてて、最初のテスト書いたからグリーンにするぞと思ってテストコード流したらエラー。

lesson3.js:2
class User {
^^^^^


SyntaxError: Block-scoped declarations (let, co
nst, function, class) not yet supported outside
strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3

で、これはちょっとNodeが怪しいと思って、ググったらこのサイトを見つける。

tweeeety.hateblo.jp

あー、おんなじ感じ。手元のNode、npmのバージョンを確認してみた。

$ node --version
v4.4.7
$ npm --version
2.15.8

どうもバージョンが問題な気がする。このサイトではnodebrewを使ってバージョンアップ、他のサイトではnpmのnというのを使うというのを紹介していたりしていくつか試してみたけど、こんな感じのエラー。

Roaming\npm\node_modules\npm-windows-upgrade\node_modules\inquirer\lib\ui\prompt.js:3
var { defer, empty, from, of } = require('rxjs');
^

SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (C:\Users\XXXX\AppData\Roaming\npm\node_modules\npm-windows-upgrade\node_modules\inquirer\
lib\inquirer.js:19:11)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)

ということで、素直に公式サイトからNodeの最新版をダウンロードしてインストールして解決しましたとさ、めでたしめでたし。