web-dev-qa-db-ja.com

rake db:create-JavaScriptランタイムが見つかりませんでした

これが私が得るエラーです:

sergio@sergio-VirtualBox:~/blog$ rake db:create
rake aborted!
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.

(See full trace by running task with --trace)

sergio@sergio-VirtualBox:~/blog$ 

したがって、検索した後、Ruby用のJavascriptランタイムをインストールする必要があるようです。

多くの異なるオプションの間に違いはありますか? Node.jsをインストールするのが最も簡単なようですが、これは私を噛むために戻ってきますか、それともこの選択は大丈夫ですか?

これ answer は私が探しているもののようですが、それをどのように利用するかわかりません。この「gemfile」はどこにありますか?それはRailsプロジェクトファイルまたはグローバルRubyファイルですか?私は非常に混乱していて、見えません私の方向性と複数の答えを得るのは互いに矛盾していて、問題を解決しません。

これをGemfileに追加します

gem'therubyracer '、require: "v8"

実行します

バンドルインストール

19

Ruby自体はJSランタイムを必要としませんが、デフォルトの新しいRailsアプリケーションは必要です。

メインアプリケーションディレクトリにGemfileというファイルがあります(つまり、Railsプロジェクトごと)。これは、bundle installを使用してインストールできるプロジェクトに必要なgemのリストです。 。

gem 'therubyracer'を追加してからbundle installを追加すると、RubyレーサーJSランタイムがインストールされます。これは、64ビットOSを使用している場合に最も簡単であることがわかりました。

Gemfileの詳細については、 Bundler サイトを参照してください。

53
djlumley

コンピューターにNode.jsをインストールしましたか?コンピュータにもインストールする必要があります。

ダウンロードするためのリンクは次のとおりです http://nodejs.org/#download

6
Ben Zhang

Rubytheracer、node、execjsなど、かなり類似したオプションがいくつかあります。

rubytheracerは、そのコードサイズのために支持されなくなりました。 Heroku(Rails用)などのベンダーは積極的にそれを思いとどまらせています。

私は現在node.jsをお勧めします

詳細については Rails-JavaScriptランタイムが見つかりませんでしたか?

1
Michael Durrant

gemfileの新しい行にgem'therubyracer 'を挿入します1.実行します。

gem install therubyracer -v '0.11.4'

  1. 実行

バンドルインストール

これはうまくいくでしょう

0
Buminda

同じエラーが発生しましたが、すべてのチェックボックス(Tc/Tk、rbの関連付け、PATHへの追加)を指定してRuby193を再インストールしました。

そして、GEMFile.lockを削除しました

Gem therubyracerを見た場所でGemfileを編集し、次のように変更しました:gem therubyracer、:platform =>:Ruby

  • 次にbundle install

  • 次にrake db:drop

  • 次にrake db:create

  • 次にrake db:migrate

等々

0
FahadJ