Rails-JavaScriptランタイムが見つかりませんでしたか?


247

rails 3.1.0.rc4ローカルマシンでを使用して新しいRailsプロジェクトを作成しましたが、サーバーを起動しようとすると、JavaScriptランタイムが見つかりませんでした。使用可能なランタイムのリストについては、こちらをご覧ください。(ExecJS::RuntimeUnavailable

注:これはHerokuに関するものではありません。


回答:


475

nodejsなどのJavaScriptランタイムライブラリをインストールすると、この問題が解決します

nodejsをubuntuにインストールするには、ターミナルで次のコマンドを入力します。

sudo apt-get install nodejs

yumを使用するシステムにnodejsをインストールするには、ターミナルで次のように入力します。

yum -y install nodejs

14
僕にも。sudo apt-get install nodejs
ヘルツェルギネス2011

1
私は今、これをとるべきルートとしてお勧めします。上記を参照。
Michael Durrant、2011

1
Ubuntuソフトウェアセンターを介したノードのインストールに関する回答の注記を削除しました(Ubuntu 12.04)
Michael Durrant

1
Ubuntu 64は、rubyracerをインストールするのに大きな問題を引き起こしています。最後のバージョン0.11.1でさえ、それを解決していません。この答えは私に役立ちました。
エドゥアルド

@gwhoヤンによる以下の答えがあります。それを見てください。
theTuxRacer 14

44

Michael 12/28/2011からのメモ-therubyracerにはコードサイズの問題があるため、受け入れ(this(rubytheracer))を上記(nodejs)に変更しました。Herokuは現在それを強く思いとどまらせています。「動作」しますが、サイズ/パフォーマンスの問題がある可能性があります。

therubyracerなどのランタイムをGemfileに追加してバンドルを実行する場合は、サーバーが動作するはずです。

gem 'therubyracer'

javascriptランタイムは、coffeescriptのコンパイルとuglifierにも必要です。

更新、 2011 年12月12日:一部の人々はrubytheracerで問題を発見しました(私はそれがほとんどコードサイズだったと思います)。彼らは、execjs(またはnodejs)が(より良くない場合でも)同様に機能し、はるかに小さいことを発見しました。

nb Coffeescriptは3.1以降の標準になりました


3
UglifyJSでJavaScriptを圧縮するためにも使用されます。これらのタスクを実行するための推奨される方法は、開発中にそれらを実行してrake assets:precompileから、リポジトリにアセットを追加することです。Rails 3.1は、リリース時に実際にJavaScriptランタイムを必要としません。
ホワイトクォーク2011

1
これを答えとしてマークしました。これはすぐには修正されず、3.0.9と3.0.4で新しいアプリを試してみましたが、(異なる)エラーが発生したため、少し毛むくじゃらでした。最後に、新しいアプリを再度作成しました。また、rails rc5を入手してrubytheracerを追加し、バンドルを更新して、最後にサーバーを起動して実行できます。ガジエ、ありがとう!
マイケルデュラント

1
ところで、作成された標準のRailsアプリはuglifierを使用しますが、これもこれが必要だと思います。
マイケルデュラント

1
私のような何か、良い練習が開発グループの下gemfileにそれを置くことができると思います group :development do gem 'therubyracer' end
eveevans

@eveevansランタイムが見つかりませんエラー。アセットは本番環境でコンパイルされるため、rubyracerは本番環境のenvブロックの下にある必要があります。
lulalala

27

gemファイルに次のgemを追加します

gem 'therubyracer'
gem 'execjs'

そして走る

bundle install

または

Node.jsインストールして、すべてのプロジェクトで永続的に修正します。


1
これは私にとってはうまくいきました(Linux Mint 16)。最新バージョンのrailsでは、依存関係の一部を見逃していると思います。
geminiCoder 2014年

15

sudo apt-get install nodejs私にはうまくいきません。それを機能させるために、私は次のことをしなければなりません:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

これが私と同じ問題を抱えている誰かを助けることを願っています。


add-apt-repository ppa:chris-lea / node.js
jpganz18

@ jpganz18最初に試してください:sudo apt-get install software-properties-common これで問題が解決しない場合は、手動でインストールできます:blog.anantshri.info/howto-add-ppa-in-debian
Robin

6

Windowsプラットフォームで、私もその問題に遭遇しました私のための解決策はただ追加することです

C:\Windows\System32

PATH

コンピュータを再起動します。


3

私はWindowsマシンでこの問題を抱えていましたが、node.jsをインストールすることが最終的に私に役立つ解決策でした。これは、「therubyracer」を機能させるなど、他の複数のルートを試みた後に発生しました。node.jsのgithub は、Windowsへのインストールがまだ不安定であることを示唆していますが、http://nodejs.org/のWebサイトには、完全に機能するWindowsインストーラーがありました。


1

たとえば、すでにソースからnodejsをインストールしていて、execjsがそれを認識していない場合は、このヒントを試してみてください:https ://coderwall.com/p/hyjdlw


1

すべてが失敗した場合は、試すことができます

#aptitude install nodejs

ルートとして。次のコマンドでインストールをテストできます。

#ノード-v

NPMをインストールする場合は、次のリンクを参照してください。それが役に立てば幸い。



0

JavaScriptランタイムをインストールする

このエラーは、ローカルマシンにJavaScriptランタイムがないために発生します。これを解決するには、NodeJSをインストールする必要があります。

NodeJSは、Node Version Managerまたはnvmからインストールできます。

まず、インストールしnvmます:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash

からノードをインストールするnvm

nvm install 5.9.1

これ5.9.1により、ノードのバージョンがインストールされます。


0

RedhatサーバーでPhusion Passenger(nginxモジュールとして実行)を使用してこの問題に遭遇しました。Javascriptランタイムはすでにインストールされています。同じ親ディレクトリにある他のRailsアプリは問題なく動作しました。

権限の問題があることがわかりました。「ls -l」を実行して、フォルダーの所有者とグループがシステム上の他の動作中のアプリと同じかどうかを確認します。それを修正するために、(再帰スイッチを使用して)フォルダに対してchownとchgrpを実行する必要がありました。


0

|| nodejsがプリインストールされているといいのですが|| nmv。

私のソリューションでsudo apt、すでにnvmがある場合、gemのセットアップや「node with 」のインストールは必要ありません

RubyMineのDesctopEntryを編集するだけです。そのため、次の小さなステップを実行します。

  1. に行く usr/share/applications
  2. 任意のエディターで開く(vimを使用)Rubymine DesktopEntryvim RubyMine
  3. 6行目を編集します(Execで始まります)。最初に追加する必要があり/bin/bash -i -cます。だからあなたのラインはこのようになります Exec=/bin/bash -i -c "/home/USERNAME/rubymine/RubyMine-2019.1.2/bin/rubymine.sh" %f
  4. できた!あなたは栄光です!

利点として、すべての環境変数がRubyMineで使用できるようになりました。だから、それらを追加しても痛みはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.