ラック
Home > ブログ > 記事 > 2017年12月 > nodistでnode.jsをバージョンアップ

nodistでnode.jsをバージョンアップ

カテゴリ: 開発環境

>node test.js
\test.js:3
(async function() {
       ^^^^^^^^
SyntaxError: Unexpected token function
    at Object.exports.runInThisContext (vm.js:78:16)
    at Module._compile (module.js:543:28)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

Phantom.jsを使おうとして、試しにphantomのサンプルスクリプトを走らせたら怒られました。どうもasyncを認識していない様子。awaitも。
調べてみると、async, awaitはnode.js 7.6以降に実装されたようです。ということで手元の環境を確認。

>node -v
v7.2.1

>npm -v
4.0.5

……足りていなかった。ということで、node.jsのバージョンアップを決意。ちなみに自分の環境のnode.jsはNodistで管理しているので、Nodist上でバージョンアップすることになります。

>nodist dist

## 略

  8.8.0
  8.8.1
  8.9.0
  8.9.1
  8.9.2
  9.0.0
  9.1.0
  9.2.0

現行のLTSは8.x系なので、その中で最新の8.9.2にバージョンアップさせます。

>nodist + 8.9.2
 8.9.2 [===============] 22547/22547 KiB 100% 0.0s
8.9.2

>nodist 8.9.2
8.9.2
Default global pacakge update dsuccessful.

>node -v
v8.9.2

>npm update -g npm

>npm -v
4.0.5

OK。8.9.2に上げてデフォルト使用の設定をして、ついでにnpmもバージョンアップ(バージョンアップされませんでしたが)。

>node test.js
Requesting https://stackoverflow.com/

## 略

>

ということで、phantomのサンプルスクリプトが無事に動くことを確認。ついでにいつものgulpfileも動くことを確認したので大丈夫そうです。

参考

async/await

node.js上でのasync/await

Nodist

phantom.js

node.jsでのjs実行

タグ: Node.js

 



関連する記事一覧