我正在尝试在 heroku 上创建一个新应用程序,但似乎无论我做什么 heroku 都运行 ruby 1.9.1 而不是 1.9.2
我已经创建了我的应用...
heroku create writings --stack cedar
然后我将我的开发分支推送到 heroku 上的 master 进行测试
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 config 它会显示...
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。任何帮助表示赞赏。
谢谢,马克。
最佳答案
它没有显示它正在运行 Ruby 1.9.1。因为标准库在 1.9.1 和 1.9.2 之间变化很小,所以它们都使用相同的路径。您会注意到这不仅仅是在 Heroku 上。
看起来 execjs
期望在系统上安装 JS 运行时。显然 Celadon Cedar 确实有一个(NodeJS),但在 rails 3.1rc5 到来之前它不会工作。在此之前,请按照 this 中的说明进行操作回答。
关于ruby-on-rails - 在 Heroku 上运行 ruby 1.9.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6399479/