5

我有一个 Rails 3.2.3 应用程序,我正在尝试使用 Ruby 2.0.0preview1 推送到 Heroku(请参阅:http ://blog.heroku.com/archives/2012/11/5/ruby-2-preview-on -heroku/)。

这是一个在 Ruby 1.9 下运行正常的应用程序,在 Ruby 2.0.0 下应该没有问题。

我遇到的错误是:

2012-11-07T15:19:32+00:00 heroku[web.1]: State changed from crashed to starting
2012-11-07T15:19:37+00:00 heroku[web.1]: Starting process with command `bundle exec unicorn -p 3225 -c ./config/unicorn.rb`
2012-11-07T15:19:38+00:00 app[web.1]: bash: bundle: command not found
2012-11-07T15:19:39+00:00 heroku[web.1]: Process exited with status 127
2012-11-07T15:19:39+00:00 heroku[web.1]: State changed from starting to crashed

我通过 bash 登录 Heroku 并安装了 Bundler(gem install bundler),但这并没有帮助。我也尝试更改 GEM_PATH 环境变量,但这似乎也没有任何作用。

我正在绞尽脑汁思考如何解决这个问题。任何帮助表示赞赏!

4

2 回答 2

5

我有同样的事情:通过使用 Ruby 2.0.0 创建一个新的 Heroku 应用程序并查看我的应用程序与新应用程序的“heroku config”的输出来解决它。然后我注意到 GEM_PATH 和 PATH 都不同,所以我做了:

$ heroku config:set GEM_PATH=vendor/bundle/ruby/2.0.0
$ heroku config:set PATH=bin:vendor/bundle/ruby/2.0.0/bin:/usr/local/bin:/usr/bin:/bin

很快,错误就消失了!

(从:heroku:bash:bundle:command not found得到这个想法)

于 2012-11-07T21:35:57.630 回答
0

我刚刚为同事解决了这个问题。确保您的 buildpack 是正确的。即:如果您使用 ruby​​,请确保它是 heroku/ruby。我们将它从 node.js 更改为 ruby​​ 构建包。

于 2017-02-13T18:05:54.037 回答