ruby-on-rails - 使用heroku_san gem 时出错:您的 Ruby 版本是 x.x.x,但您的 Gemfile 指定了 x.x.x (Bundler::RubyVersionMismatch)

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

将 Rails 应用程序升级为使用 Ruby 2.0.0(从 1.9.3 开始)后,我在尝试通过 rake <stage> deploy 部署到 Heroku 时开始收到此错误.

 Your Ruby version is 1.9.3, but your Gemfile specified 2.0.0 (Bundler::RubyVersionMismatch)

它似乎也会导致此错误,(但我可以在没有 heroku_san 帮助程序的情况下手动运行 Heroku 命令,因此授权不是问题)。

Expected(200) <=> Actual(401 Unauthorized)

我将 gems 更新到了最新版本,还更新了 Heroku Toolbelt。

我找到了这个pull request并修补了我的版本,但错误仍然存​​在。

如何解决这个问题(在 Ubuntu 和 OSX 上)?

其他信息:

  • Ubuntu 12.04 LTS x64
  • Rails 3.2.13
  • Ruby 2.0.0-p247
  • heroku-api-0.3.15
  • heroku_san-4.0.8
  • heroku-toolbelt/2.41.0 (x86_64-linux)
  • rvm 1.22.10

最佳答案

我在 Ubuntu 上的解决方案是修改

/usr/local/heroku/bin/heroku

并将 shebang 行更改为

#!/usr/bin/env ruby

感谢Pivotal Labs为此。

(我不使用 Mac。)

关于ruby-on-rails - 使用heroku_san gem 时出错:您的 Ruby 版本是 x.x.x,但您的 Gemfile 指定了 x.x.x (Bundler::RubyVersionMismatch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19056267/

相关文章:

javascript - top.location.href 相当于redirect_to 或render?

ruby - 使用 rspec 如何测试以正确顺序接收散列参数的方法?

ruby-on-rails-3 - 为什么Rails 3.2使用两个记录器ActiveSupport::TaggedLogging和ActiveSupport::BufferedLogger?

javascript - Jasmine 与 Jasmine : Outputting Errors to Console

ruby-on-rails - Phusion 乘客状态 : what value for passenger_instance_registry_dir?

ruby-on-rails - 什么时候调用 rails 中的 after_touch 回调

javascript - 如何在 Rspec 功能规范期间创建 Javascript stub 对象?

ruby-on-rails - 从特定字符串中提取信息

mysql - Rails 在 db 的所有列中搜索值而不显式命名它们

ruby-on-rails-3 - 检查/取消选中喜欢/不喜欢喜欢/不喜欢资源的 REST 方式