2

在升级 Rails 应用程序以使用 Ruby 2.0.0(从 1.9.3 开始)后,我在尝试通过rake <stage> deploy.

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

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

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

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

我找到了这个拉取请求并修补了我的版本,但错误仍然存​​在。

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

其他信息:

  • Ubuntu 12.04 LTS x64
  • 导轨 3.2.13
  • 红宝石 2.0.0-p247
  • heroku-api-0.3.15
  • heroku_san-4.0.8
  • heroku-toolbelt/2.41.0 (x86_64-linux)
  • 转速 1.22.10
4

2 回答 2

3

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

/usr/local/heroku/bin/heroku

并将shebang线更改为

#!/usr/bin/env ruby

为此感谢Pivotal Labs

(我不使用 Mac。)

于 2013-09-27T16:59:31.207 回答
0

我发现这个错误的另一个问题(1.9.2 不是 1.9.3)是在 heroku 上设置了 BUNDLE_GEMFILE 环境变量,这导致 heroku ruby​​ 构建包异常并默认为 1.9.2。

于 2013-10-17T19:45:07.897 回答