rails s
会发现报错:
/usr/local/lib/ruby/gems/1.9.1/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)
这是因为Ubuntu下没有预设的JavaScript编译器来给Rails用的,需要安装一个套件,方法如下:
1. 打开Gemfile这个文件,加入一行gem 'therubyracer',保存。
2. 敲入命令bundle install来安装。装完之后,用命令bundle show therubyracer可以看到装好的therubyracer这个套件。
3. 重新rails s,可以看到问题解决了。
如果Rails版本比较老(3.1以下)的话,还需要在Gemfile里面加入一行gem 'execjs',同样方法安装才可以搞定。
如果通过sudo gem install therubyracer来安装的话,需要在装之前确认有没有安装libv8.如果没有,还需要sudo gem install libv8安装完之后才可以成功装上therubyracer.
没有评论:
发表评论