在Heroku上运行ruby 1.9.2

mar*_*wie 5 ruby ruby-on-rails heroku ruby-on-rails-3

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

我创建了自己的应用...

heroku create writings --stack cedar
Run Code Online (Sandbox Code Playgroud)

然后我推动我的开发分支在heroku上进行测试

git push heroku develop:master
Run Code Online (Sandbox Code Playgroud)

但该应用程序运行时出现错误...查看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)
Run Code Online (Sandbox Code Playgroud)

这表明它正在运行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.任何帮助赞赏.

谢谢,马克.

cor*_*ard 11

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

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