node.jsのバージョンを上げる

開発関連

macでは問題なくnuxt.jsが動くのに何故かDockerで謎のエラーがでるようになった時の記録です。

発生した問題

ある日突然axiosで通信するとこんなエラーが。。。

SyntaxError: Unexpected token {
at node_modules/vue-server-renderer/build.prod.js:1:77472
at o (node_modules/vue-server-renderer/build.prod.js:1:77535)
at node_modules/vue-server-renderer/build.prod.js:1:77677
at Function.module.exports.o.e (webpack/bootstrap:2:0)
at P (webpack/bootstrap:2:0)
at Promise.all (webpack/bootstrap:2:0)
at Object.keys.reduce (webpack/bootstrap:2:0)
at Array.reduce (<anonymous>)
at Promise.all.Array.concat.apply.e.matched.map (webpack/bootstrap:2:0)
at Array.map (<anonymous>)

原因

いろいろ調べていったところ、macとdockerとで全然違うnode.jsのバージョン使ってたのが原因でした。。。macが10.16つかってて、Dockerが8-alpineと大幅に古いバージョン使ってました。。。
なのでDockerファイルを直して無事解決です。

おまけ

MacのNode.jsを上げる手順です。

nodebrewを使う前提です。詳しくはこの方の記事がわかりやすかったです。

以下は普段使いそうなコマンドの抜粋です。

インストール可能なnode.jsのバージョンを調べる

$ nodebrew ls-remote
v0.0.1    v0.0.2    v0.0.3    v0.0.4    v0.0.5    v0.0.6    

v0.1.0    v0.1.1    v0.1.2    v0.1.3    v0.1.4    v0.1.5    v0.1.6    v0.1.7
v0.1.8    v0.1.9    v0.1.10   v0.1.11   v0.1.12   v0.1.13   v0.1.14   v0.1.15
v0.1.16   v0.1.17   v0.1.18   v0.1.19   v0.1.20   v0.1.21   v0.1.22   v0.1.23
v0.1.24   v0.1.25   v0.1.26   v0.1.27   v0.1.28   v0.1.29   v0.1.30   v0.1.31
v0.1.32   v0.1.33   v0.1.90   v0.1.91   v0.1.92   v0.1.93   v0.1.94   v0.1.95
v0.1.96   v0.1.97   v0.1.98   v0.1.99   v0.1.100  v0.1.101  v0.1.102  v0.1.103
v0.1.104

node.jsのインストールされているバージョンを調べる

$ nodebrew ls
v8.15.0
v10.14.1
v10.16.0

current: v10.16.0

または

node -v
v10.16.0

特定のバージョンのnode.jsをインストールする

$ nodebrew install-binary バージョン

利用するnode.jsのバージョンを切り替える

nodebrew use v8.15.0
use v8.15.0

バージョンを確認する
$ node -v
v8.15.0

最後に

現時点でnode.jsの最新が12・・・

タイトルとURLをコピーしました