Rails 3.1错误-Could not find a JavaScript runtime及execjs和therubyracer介绍

十 10th, 2011

Rails 3.1错误

/gems/execjs-1.1.2/lib/
execjs/runtimes.rb:43:in `autodetect’: Could not find a JavaScript
runtime.

Gemfile中添加


gem 'execjs'

gem 'therubyracer'

执行

bundle install

即可

错误原因:

Windows下默认有Javascript引擎,所以不会有这个错误。
Linux下才有这个错误,一般只要第一个项目安装即可,以后的项目不用重复安装。
而且这个错误是由development环境中的assets包引起的,注释掉

# Gems used only for assets and not required
# in production environments by default.
#group :assets do
#  gem 'sass-rails', "  ~> 3.1.0"
#  gem 'coffee-rails', "~> 3.1.0"
#  gem 'uglifier'
#end

就不用安装’execjs’和’therubyracer’了。

扩展:

http://rubydoc.info/gems/execjs/1.2.12/file/README.md
很推荐一读,看后让你彻底明白execjs和therubyracer。

>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:Rails 3.1错误-Could not find a JavaScript runtime及execjs和therubyracer介绍
  1. Zernel
    十二 17th, 201115:52

    今天也遇到这个问题,装了个 nodejs就好了,不过还是LZ的方法比较好

  2. djks
    十二 13th, 201112:20

    我说的今天就打不开了
    ubuntu fanqiang有什么好办法吗?我是用在线代理的,有广告不怎么爽

    • 老宋
      十二 13th, 201112:23

      免费的网页代理广告确实多,我是和几个朋友一起买的美***国*Linode服务器来fanqiang。

  3. djks
    十二 12th, 201120:14

    这个貌似每次都要手动添加,是什么原因?

    • 老宋
      十二 13th, 201109:26

      看一下你的gem安装路径是否和其它一致,还有环境变量是否都有添加。
      如果安装了node.js,就不用安装execjs和therubyracer了:https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
      这个也可以试下。
      这两天网站槽G***F***W,回复有点晚,希望对你有帮助。