環境
仮想環境のOS:Ubuntu
node.js v7.10.1
エラー内容
serveコマンドを打つと、以下のエラーがでる。
/home/vagrant/.nvm/versions/node/v7.10.1/lib/node_modules/serve/node_modules/update-check/index.js:11
const writeFile = promisify(fs.writeFile);
^
TypeError: promisify is not a function
at Object.<anonymous> (/home/vagrant/.nvm/versions/node/v7.10.1/lib/node_modules/serve/node_modules/update-check/index.js:11:19)
エラーの原因
上記のディレクトリのindex.jsの11行目のpromisify()に問題がある的なエラーが出てるけど、そのindex.jsとにらめっこする必要はない
nodeのバージョンが古いことが、エラーの原因。
解決方法 :
なので、バージョンを8.x以上にする。これが解決方法。
nvmでnode.jsをインストールする際、バージョンを指定しなければ最新バージョンとなりますが、もし任意のバージョンを使いたかったり、v8.10.0がなかったらインストールしてください。
バージョン切り替え
nvm use v8.10.0
では、実際にserveコマンドやってみる
serve -s build -p 3000
無事にwebサーバが起動した
感想 :
今回に限らず、バージョン7だとReactのプロジェクト作成からエラーが出るので、ノードのバージョンは新しくしましょう