转自:http://rubyer.me/blog/740/

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。

很悲剧的是,虽然bundle install提示安装成功了,使用gem install execjs和gem install therubyracer也提示安装成功了,但还是提示找不到javascript runtime。无奈之下,安装nodejs。结果yum install nodejs,提示说找不到安装包。不得以,最后只能自己编译和安装了。步骤如下:

(nodejs需要python版本>2.6的支持,centos5.5 默认是2.4.3,所以必须先安装一个版本足够的python。然后执行以下:

wget http://nodejs.org/dist/v0.10.20/node-v0.10.20.tar.gz
tar xzvf node-v0.10.20.tar.gz
cd node-v0.10.20.tar.gz
./configure
make && make install (漫长的等待…)

【转】Rails 3.1错误-Could not find a JavaScript runtime及execjs和therubyracer介绍的更多相关文章

  1. Rails 执行 rails server 报错 Could not find a JavaScript runtime

    gem install 'execj' gem install 'therubyrace' Ubuntu install Node.js(ubuntu) sudo apt-get install no ...

  2. 执行 rails server 报错 Could not find a JavaScript runtime

    修改第15行 # gem 'therubyracer', platforms: :ruby 去掉注释 执行 bundle install

  3. 【转】rails 遇到 Could not find a JavaScript runtime execjs错误(ubuntu)

    当我运行 $rails s 遇到下面错误 sudo apt-get install python-software-properties sudo add-apt-repository ppa:chr ...

  4. ruby on rails 常见配置错误解决

    error:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError) 先删除 Ruby下的D:\Ruby22- ...

  5. gulp错误GulpUglifyError: unable to minify JavaScript解决

    这个错误是由于在打包js代码时,js语法错误导致的,修改以下js的语法即可.

  6. 0x800a138f - JavaScript runtime error: Unable to get property 'asSorting' of undefined or null reference 错误原因以及解决办法

    使用Jquery Datatables的时候也许会碰到这样的错误提示,当我们仔细的查找代码,发现引用的js文件,css文件均引用了,就是找不到他的问题所在. 这是从我们引用的js文件内部报的错. 这个 ...

  7. Golang错误处理函数defer、panic、recover、errors.New介绍

    在默认情况下,当发生错误(panic)后,程序就会终止运行 如果发生错误后,可以捕获错误,并通知管理人员(邮件或者短信),程序还可以继续运行,这当然无可厚非 errors.New("错误信息 ...

  8. Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲线太陡峭,pass)

    对Js的单元测试是一个大的题目.作者认为Ruby的相关测试工具比Js的测试工具更灵活 大多数Js代码最终是关于响应用户的行为和改变DOM中的元素 没有什么javascript的知识点.前两节用了几个新 ...

  9. IIS中使用LocalDB遇到错误:error 50,Local Database Runtime error occurred.的解决办法

    参见: [1] http://www.cnblogs.com/yjmyzz/archive/2009/10/26/1590033.html [2] http://blogs.msdn.com/b/sq ...

随机推荐

  1. 【C#学习笔记】鼠标控制

    using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ConsoleApp ...

  2. 使用D3D渲染YUV视频数据

    源代码下载 在PC机上,对于YUV格式的视频如YV12,YUY2等的显示方法,一般是采用DIRECTDRAW,使用显卡的OVERLAY表面显示.OVERLAY技术主要是为了解决在PC上播放VCD而在显 ...

  3. SwipeRefreshLayout的简要说明及使用demo

    在最新的  Android Support Library, revision 19.1.0 (March 2014)   添加了SwipeRefreshLayout控件. 版本发布的说明信息如下: ...

  4. 【转】http-equiv的含义

    http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变 ...

  5. 【LeetCode 221】Maximal Square

    Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...

  6. Python--类使用

    类使用的几个注意点: 1. 类的语法结构:2. __init__(self),3. __metaclass__=type, (新式类)4. super(subclassname, self).__in ...

  7. 软件测试技术(四)——闰年判断器+ int.Parse错误如何解决

    目标程序 本次所测试的目标程序是一个闰年判断器,我们知道,一般情况下年份被4整除就可以了,但是如果遇到百年的时候还需要被400整除,于是有了如下的逻辑判断: bool isRunNian = fals ...

  8. MATLAB常用数据类型的转换

    一直以来,在使用MATLAB进行运算的过程中,经常会用到对图像的各种处理,因此需要对图像进行数据转换,因此对经常用到的转换进行整理,方便查看. 1.uint8转化为double用来方便图像的运算: d ...

  9. B树在数据库索引中的应用剖析

    引言 关于数据库索引,google一个oracle index,mysql index总 有大量的结果,其中很多的使用方法推荐,**索引之n条经典建议云云.笔者认为,较之借鉴,在搞清楚了自己的需求的基 ...

  10. Oracle 10G (Linux) 冷备恢复

    完整的数据库文件集包括:数据库启动参数文件,控制文件,数据文件,日志文件. 可以通过下面的方式来得到文件的位置和名称. 参数文件 $ORACLE_HOME/dbs/spfile[$ORACLE_SID ...