在Heroku上运行ruby 1.9.2

时间:2011-06-18 23:15:02

标签: ruby-on-rails ruby ruby-on-rails-3 heroku

我正在尝试在heroku上创建一个新应用程序,但似乎无论我做什么,heroku运行ruby 1.9.1而不是1.9.2

我已经创建了我的应用...

heroku create writings --stack cedar

然后我将我的开发分支推到了heroku上进行测试

git push heroku develop:master

但该应用程序运行时出现错误...查看heroku日志..这似乎是违规错误。

 /app/vendor/bundle/ruby/1.9.1/gems/execjs-1.1.3/lib/execjs/runtimes.rb:43:in `autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

这表明它正在运行ruby 1.9.1不是吗?

如果我运行heroku配置,它会显示...

heroku config
DATABASE_URL        => postgres://mxlvaczibv:wMtsU7TrPMQM5n-X5SfX@ec2-50-19-226-179.compute-1.amazonaws.com/mxlvaczibv
GEM_PATH            => vendor/bundle/ruby/1.9.1
LANG                => en_US.UTF-8
PATH                => vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
RACK_ENV            => production
RAILS_ENV           => production
SHARED_DATABASE_URL => postgres://mxlvaczibv:wMtsU7TrPMQM5n-X5SfX@ec2-50-19-226-179.compute-1.amazonaws.com/mxlvaczibv

这是不是显示它正在运行1.9.1?我完全糊涂了......我以为雪松堆跑了1.9.2。任何帮助赞赏。

谢谢,马克。

3 个答案:

答案 0 :(得分:11)

它没有显示它正在运行Ruby 1.9.1。因为标准库在1.9.1和1.9.2之间变化很小,所以它们都使用相同的路径。你会发现这不只是在Heroku上。

看起来execjs期望在系统上安装JS运行时。显然Celadon Cedar确实有一个(NodeJS),但是直到rails 3.1rc5到达它才会起作用。在此之前,请按照this回答中的说明进行操作。

答案 1 :(得分:2)

我也在使用Ruby 1.9.2和Heroku。我在我的Gemfile中有这个。我记得在尝试部署到Heroku之前有一些javascript错误,我很确定这解决了它。

group :production do
  gem 'therubyracer-heroku',  '0.8.1.pre3'
end

答案 2 :(得分:0)

尝试使用:

heroku create --stack bamboo-mri-1.9.2