This question already has answers here:
execJs: 'Could not find a JavaScript runtime' but execjs AND therubyracer are in Gemfile
(18个回答)
6年前关闭。
我在文件夹“issues”中创建了一个新的Rails应用程序,当我想对“ruby s”进行操作时遇到错误。任何帮助都感激不尽
我将“therubyracer” gem添加到我的Gemfile中,然后“$ bundle install”起作用了!
这些是我用来执行此命令的命令,因为它将安装最新的稳定版本的NodeJS,但是您可以只运行
在Windows上,我使用的答案(可能还有其他答案)是编辑您的Gemfile以安装therubyracer。我现在在Rails 4.0 RC1应用程序上工作,并且它们都已经在Gemfile中已经被注释掉了
如果您在Windows上运行,则可以在Gemfile中添加
(18个回答)
6年前关闭。
我在文件夹“issues”中创建了一个新的Rails应用程序,当我想对“ruby s”进行操作时遇到错误。任何帮助都感激不尽
[thiago@netbox issues]$ rails s
/home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs.rb:5:in `<module:ExecJS>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/execjs-1.4.0/lib/execjs.rb:4:in `<top (required)>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `<top (required)>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `<top (required)>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
from /home/thiago/Documents/wdi/rails_practice/issues/config/application.rb:7:in `<top (required)>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:53:in `require'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:53:in `block in <top (required)>'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
我将“therubyracer” gem添加到我的Gemfile中,然后“$ bundle install”起作用了!
Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'sqlite3'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'therubyracer' # added
最佳答案
一月份开始在Rails上工作时,Windows和Ubuntu都出现了相同的错误。该错误非常简单。您需要一个JavaScript运行时环境才能启动服务器。
有许多解决方案。我在Ubuntu上使用的一个是安装NodeJS。
在Ubuntu上,您将运行类似于以下内容的内容以安装NodeJS:
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get -y update
sudo apt-get -y install nodejs
这些是我用来执行此命令的命令,因为它将安装最新的稳定版本的NodeJS,但是您可以只运行
sudo apt-get -y install nodejs
就可以了。在Windows上,我使用的答案(可能还有其他答案)是编辑您的Gemfile以安装therubyracer。我现在在Rails 4.0 RC1应用程序上工作,并且它们都已经在Gemfile中已经被注释掉了
gem 'therubyracer', platform: :ruby
。如果您在Windows上运行,则可以在Gemfile中添加
gem 'therubyracer'
,我敢打赌。然后运行bundle install
。关于ruby-on-rails - Rails服务器无法启动->找不到JavaScript运行时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16846088/