Java
Node.js
vagrant
gulp

Ubuntuでgulp実行すると、events.js:163 throw er; // Unhandled 'error' event ^ Error: spawn java ENOENT

More than 1 year has passed since last update.


環境


  • 仮想環境 vagrant

  • Ubuntu 16.04

  • node v7.8.0


エラーメッセージ

events.js:163

throw er; // Unhandled 'error' event
^

Error: spawn java ENOENT
at exports._errnoException (util.js:1034:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
at onErrorNT (internal/child_process.js:367:16)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)

このエラーメッセージの中でそれっぽい部分をググっても全くヒットせず。。。


解決方法

それでもメッセージの通り、Javaをインストールすればよかっただけでした。

$ sudo apt-get -y install python-software-properties software-properties-common

$ sudo sh -c "echo 'oracle-java8-installer shared/accepted-oracle-license-v1-1 select true' | debconf-set-selections"
$ sudo add-apt-repository -y ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get -y install oracle-java8-installer
$ sudo apt-get -y install oracle-java8-set-default

# インストール直後
echo $JAVA_HOME
(空文字)

# 一度exitして、vagrant reloadした後
echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle


反省

エラーメッセージ→ググる

という習慣が染み付きすぎてしまい、メッセージをちゃんと読むということを怠っていました。。。

そして仮想環境は最初まっさらであることを再認識。ってきりjavaはあるだろーという勘違いが祟りました。


Special Thanks

コマンドはまるっきり参考にさせていただきましたm(_ _)m

Ubuntu 16.04 で Oracle Java を apt-get でインストールする件