【问题标题】:Running ruby 1.9.2 on Heroku在 Heroku 上运行 ruby​​ 1.9.2
【发布时间】:2011-09-17 23:22:31
【问题描述】:

我正在尝试在 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 配置,它会显示...

heroku 配置 DATABASE_URL => postgres://mxlvaczibv:wMtsU7TrPMQM5n-X5SfX@ec2-50-19-226-179.compute-1.amazonaws.com/mxlvaczibv GEM_PATH => 供应商/bundle/ruby/1.9.1 LANG => en_US.UTF-8 PATH => 供应商/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin RACK_ENV => 生产 RAILS_ENV => 生产 SHARED_DATABASE_URL => postgres://mxlvaczibv:wMtsU7TrPMQM5n-X5SfX@ec2-50-19-226-179.compute-1.amazonaws.com/mxlvaczibv

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

谢谢,马克。

【问题讨论】:

  • 通过打开控制台$ heroku console 来检查您的ruby 版本,然后在控制台中查看RUBY_VERSION 常量。 (我认为这适用于 Cedar,但还没有尝试过)

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


【解决方案1】:

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

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

【讨论】:

  • 谢谢!添加了 ruby​​racer gem 并消除了该错误。但是现在我只收到了 Heroku 的通用 Error H10 (App crashed) 错误。我敢肯定这完全是另一回事。
  • 我认为 heroku 上的默认堆栈现在也使用 1.9.2。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    尝试使用:

    heroku create --stack bamboo-mri-1.9.2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2011-06-13
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      相关资源
      最近更新 更多