需要帮助设置RubyonRails javascript运行时环境吗

需要帮助设置RubyonRails javascript运行时环境吗,javascript,ruby-on-rails,ruby,archlinux,Javascript,Ruby On Rails,Ruby,Archlinux,在我的机器上设置ruby on rails时遇到问题。我一直在关注《使用Rails进行敏捷Web开发》一书,到目前为止,一切都进展顺利 我的问题是当我打字的时候 rails server 我得到以下错误: /home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect': Could not find a JavaScript runtime. See https://github.

在我的机器上设置ruby on rails时遇到问题。我一直在关注《使用Rails进行敏捷Web开发》一书,到目前为止,一切都进展顺利

我的问题是当我打字的时候

rails server
我得到以下错误:

/home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs/runtimes.rb:50:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
from /home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs.rb:5:in `<module:ExecJS>'
from /home/myname/.gem/ruby/1.9.1/gems/execjs-1.3.0/lib/execjs.rb:4:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:1:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee-script.rb:1:in `<top (required)>'
from /usr/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `require'
from /usr/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/coffee-rails.rb:1:in `<top (required)>'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:68:in `require'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:66:in `each'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:66:in `block in require'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:55:in `each'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler/runtime.rb:55:in `require'
from /home/myname/.gem/ruby/1.9.1/gems/bundler-1.1.0/lib/bundler.rb:118:in `require'
from /home/myname/Programming/Learning/Learning_Rails/demo/config/application.rb:7:in `<top (required)>'
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `require'
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:53:in `block in <top (required)>'
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `tap'
from /home/myname/.gem/ruby/1.9.1/gems/railties-3.2.2/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
当我运行“gem list”时,我得到以下输出:

*** LOCAL GEMS ***

actionmailer (3.2.2)
actionpack (3.2.2)
activemodel (3.2.2)
activerecord (3.2.2)
activeresource (3.2.2)
activesupport (3.2.2)
arel (3.0.2)
bigdecimal (1.1.0)
builder (3.0.0)
bundler (1.1.0)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.2.0)
erubis (2.7.0)
execjs (1.3.0 ruby)
hike (1.2.1)
i18n (0.6.0)
io-console (0.3)
journey (1.0.3)
jquery-rails (2.0.1)
json (1.6.5, 1.5.4)
mail (2.4.3)
mime-types (1.17.2)
minitest (2.11.3, 2.5.1)
multi_json (1.1.0)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.2)
railties (3.2.2)
rake (0.9.2.2)
rdoc (3.12, 3.9.4)
sass (3.1.15)
sass-rails (3.2.4)
sprockets (2.3.1, 2.1.2)
sqlite3 (1.3.5)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.32)
uglifier (1.2.3)
从上面的输出来看,我觉得好像安装了execjs。这里发生了什么,为什么我会出现这个错误

如果有帮助的话

我的操作系统是ArchLinux

ruby-v:ruby 1.9.3p125(2012-02-16修订版34643)[x86_64-linux]

轨道-v:rails 3.2.2


任何帮助都将不胜感激。

我认为您需要像rubyracer这样的运行时。 试一试


您的文件应包含以下两行:

gem 'execjs'
gem 'therubyracer'

然后运行
bundle install
并重试。

如果您要添加Rubyracer gem,您的问题可能会得到解决

代码

然后只需执行
捆绑安装

尝试以下操作:

$ sudo apt-get install nodejs

如果您使用Pacman数据包管理器,则应使用:

# pacman -S nodejs 


我在Rails之前安装了Node.js。现在它自己使用Node.js作为javascript运行时

JavaScript Runtime  Node.js (V8)

我试过了,结果是:
$bundle install execjs“install”调用不正确。调用为“bundle install”。
编辑以指定js运行时。rubyracer不会出现在gem列表输出中。你确定已经安装了吗?我运行了sudo gem安装therubyracer。它看起来像是在安装,总的来说大约需要5分钟。安装时没有任何错误消息,之后我运行了sudogem更新。我错过了一个步骤吗?我尝试运行gem'therubyracer'命令,但是我得到一个错误,说therubyracer是一个未知的命令。如果我运行gem'execjs',也会发生同样的情况。我误解你了吗?
$ sudo apt-get install nodejs
# pacman -S nodejs 
$ sudo pacman -S nodejs
JavaScript Runtime  Node.js (V8)