1. ホーム
  2. javascript

Railsです。JavaScriptのランタイムが見つかりませんでした。利用可能なランタイムのリストについては、https://github.com/sstephenson/execjs を参照してください。(ExecJS::RuntimeUnavailable)

2023-10-19 03:58:17

質問

私のウェブサイトは、2 週間前に Dreamhost がサーバーをアップグレードして以来、壊れています。私はそれを修正しようとして髪を引き裂き、いくつかの進歩を遂げましたが、うまくいけば最終的な問題であるものに行き詰っています。

Rails 3.1.1 を Ruby 1.8.7 上で使用していますが、PhusionPassenger から 'Ruby (Rack) application could not be started error' というエラーが表示されます。これは、'Could not find a JavaScript runtime. 参照 https://github.com/sstephenson/execjs を参照してください。(ExecJS::RuntimeUnavailable)' を参照してください。Dreamhostのwikiで検索すると、「therubyracer」gemをインストールすることで解決するとのことです。

ということで、提案されたgemでgemfileを以下のように更新しました。

gem 'therubyracer', '~> 0.9.9'.

EDIT: でファイルへの追加も試してみました。

gem 'therubyracer', :プラットフォーム => :ruby

を実行しましたが、違いはありませんでした。

その後、bundle は私の Macbook (OS X 10.5.8 を実行) に問題なくインストールされました。しかし、Dreamhost に配置するために 'cap deploy' を実行すると、これは失敗します。

これを正しくインストールする方法を知っている人、または他の作業ソリューションを知っている人はいますか?

その他の情報については、リクエストに応じて提供することができます。

ターミナルからのフルエラーフィードバック。

  • 実行中 "cd /home/futureproof/abunchofletters.co.jp/releases/20111118003703 && bundle install --gemfile /home/futureproof/abunchofletters.co.jp/releases/20111118003703/Gemfile --path /home/futureproof/.gems/bundle --deployment --quiet --without開発テスト" サーバに接続することができます。["abunchofletters.co.uk"] です。 [abunchofletters.co.uk] executing command ** [out :: abunchofletters.co.uk] 残念ですが、致命的なエラーが発生しました。 このエラーを Bundler issue tracker に報告してください。 https://github.com/carlhuda/bundler/issues に報告してください。 ありがとうございます。 ** [out :: abunchofletters.co.jp] です。 /usr/lib/ruby/1.8/rubygems/installer.rb:483:in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] /usr/bin/ruby1.8 extconf.rb ** [out :: abunchofletters.co.uk] *** extconf.rb failed *** ** [out :: abunchofletters.co.uk] Could not create Makefile due to some reason, probably lack of ** [out :: abunchofletters.co.uk] necessary libraries and/or headers. Check the mkmf.log file for more ** [out :: abunchofletters.co.uk] details. You may need configuration options. ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] Provided configuration options: ** [out :: abunchofletters.co.uk] --with-opt-dir ** [out :: abunchofletters.co.uk] --without-opt-dir ** [out :: abunchofletters.co.uk] --with-opt-include ** [out :: abunchofletters.co.uk] --without-opt-include=${opt-dir}/include ** [out :: abunchofletters.co.uk] --with-opt-lib ** [out :: abunchofletters.co.uk] --without-opt-lib=${opt-dir}/lib ** [out :: abunchofletters.co.uk] --with-make-prog ** [out :: abunchofletters.co.uk] --without-make-prog ** [out :: abunchofletters.co.uk] --srcdir=. ** [out :: abunchofletters.co.uk] --curdir ** [out :: abunchofletters.co.uk] --ruby=/usr/bin/ruby1.8 ** [out :: abunchofletters.co.uk] extconf.rb:13: uninitialized constant Gem (NameError) ** [out :: abunchofletters.co.uk] Checking for Python... ** [out :: abunchofletters.co.uk] ** [out :: abunchofletters.co.uk] Gem files will remain installed in /home/futureproof/.gems/bundle/ruby/1.8/gems/libv8-3.3.10.4 for inspection. ** [out :: abunchofletters.co.uk] Results logged to /home/futureproof/.gems/bundle/ruby/1.8/gems/libv8-3.3.10.4/ext/libv8/gem_make.out ** [out :: abunchofletters.co.uk] from /usr/lib/ruby/1.8/rubygems/installer.rb:446:in each' ** [out :: abunchofletters.co.uk]より。 /usr/lib/ruby/1.8/rubygems/installer.rb:446:inにあります。 build_extensions' ** [out :: abunchofletters.co.uk] from /usr/lib/ruby/1.8/rubygems/installer.rb:198:in install' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/source.rb:90:in install' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:78:in preserve_paths' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/source.rb:89:in。 install' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:73:in install_gem_from_spec' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:93:in。 with_build_args' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:72:in install_gem_from_spec' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:56:in run' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:55:in run' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/installer.rb:12:in install' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/cli.rb:219:in インストール' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in。 send' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in run' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/invocation.rb:118:in invoke_task' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor.rb:263:in dispatch' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/lib/bundler/vendor/thor/base.rb:386:in start' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/gems/bundler-1.1.rc/bin/bundle:13 ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/bin/bundle:19:in load' ** [out :: abunchofletters.co.uk] from /home/futureproof/.gems/bin/bundle:19 コマンドは13170msで終了しました *** [deploy:update_code] roll back * "rm -rf /home/futureproof/abunchofletters.co.uk/releases/20111118003703; true" を実行中です。 サーバーに ["abunchofletters.co.uk"] です。 [abunchofletters.co.uk] コマンド実行中 command finished in 563ms failed: "sh -c 'cd /home/futureproof/abunchofletters.co.uk/releases/20111118003703 && bundle install --gemfile /home/futureproof/abunchofletters.co.jp/releases/20111118003703/Gemfile --path /home/futureproof/.gems/bundle --deployment --quiet --without development test'" on abunchofletters.co.uk

どのように解決するのですか?

libv8 はOSのライブラリです。正しいLinuxのシステムライブラリをインストールする必要があります。Ubuntuを使用している場合、それは

sudo apt-get install libv8-dev

別の方法として node.js これは、Debian/Ubuntu のパッケージとして様々なディストロで利用可能で、例えば http://ppa.launchpad.net/chris-lea/node.js/ubuntu

Herokuにデプロイすると、OSやgemsのコンポーネントを管理する必要がないので、手間が省けるかもしれません。