Hatena::ブログ(Diary)

M_Ishikawa Twitter

2015/06/08 (Mon) Node.js (V8) runtime is not available on this system

RuntimeUnavailable: Node.js (V8) runtime is not available on this system


RuntimeUnavailable: Node.js (V8) runtime is not available on this system

っていうエラーがerror_logに吐かれたら。
nodeのパスが通ってないよ〜。

apacheとかwwwサーバはデフォルトでユーザーがapacheだったりnobodyだったりwww-dataだったりすると思うけど、普段開発中はスタンドアロンサーバ使ってるから自ユーザーにnodeのパス(/home/m_ishikawa/.nvm/v0.xx.xx/bin/node とか)が通っていれば動くのだけど、webサーバ使ったときにそのこと忘れちゃうし、このエラーでググっても日本語で情報あんまり載っていないので残してみた。(これが1年上ぶりのブログ更新になるとは...)

最近python+reactとか書いているのでこのエラーに遭遇しちゃったのでした。
こういう場合nodeのパスを通すのどうするのがベストプラクティスなのかなあ。/usr/local/bin/nodeにシンボリックリンク貼っちゃう?/home/apache/.nvm/に入れちゃう?うーん。

あ、それと今回この悩み解決するときに「なぜvirtualenvは便利なのにnodeはnvmが主流なのか」というのが理解できて面白かった。nodebrewとか調べたけど、結局はnvmで充分だったのはプロジェクトの/node_modules/にnode以外全部収まるからなんだな。結局-gで入れたりしてるのはせいぜいnpm, grunt-cli, とか開発時に必要な物だけだもんな。



はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/ishikawam/20150608/p1
リンク元
Connection: close