Ruby on rails Heroku在部署时删除绑定器

Ruby on rails Heroku在部署时删除绑定器,ruby-on-rails,ruby,heroku,bundler,Ruby On Rails,Ruby,Heroku,Bundler,我在heroku上部署ruby on rails应用程序时遇到了麻烦 部署失败,日志如下 使用命令启动进程bundle exec thin start-R config.ru-e staging-p 6882 bash:bundle:未找到命令 我注意到在部署时,bundler(1.3.2)被删除,bundler(1.5.2)被使用,即使我将bundler版本指定为“1.3.2” 部署时,将显示使用捆绑程序(1.5.2)的,但在heroku运行“gem list”时没有捆绑程序 这是在我推送包含

我在heroku上部署ruby on rails应用程序时遇到了麻烦

部署失败,日志如下

使用命令启动进程
bundle exec thin start-R config.ru-e staging-p 6882

bash:bundle:未找到命令

我注意到在部署时,bundler(1.3.2)被删除,bundler(1.5.2)被使用,即使我将bundler版本指定为“1.3.2”

部署时,将显示使用捆绑程序(1.5.2)的
,但在
heroku运行“gem list”时没有捆绑程序

这是在我推送包含一些gem更新的提交之后发生的


在部署之后,所有部署都会失败,即使我删除了以前工作良好的提交。

您的GEM文件中是否有这样的ruby定义

source 'https://rubygems.org'

ruby '1.9.3'

gem 'rails', '3.2.15'

.....
如果您这样做,heroku将尝试加载bundler 1.5.2
尝试像这样更新bundler

gem update bundler
然后提交并推送到heroku

我希望这有帮助

谢谢大家

我解决了这个问题

我在这篇文章中尝试了所有的解决方案,但都无法得到修复,所以我向heroku的支持人员询问了详细信息

这是因为我使用的自定义构建包不支持Bundler 1.5.2

因此,我配置了一个要使用的应用程序

heroku配置:设置BUILDPACK\u URL=


我相信Heroku使用类似rvm或rbenv的东西来安装ruby和Gemset。如果是这样的话,我相信他们把
捆绑机
gem放在了全局gems中。他们的系统上可能有需要特定版本bundler的工具,或者是他们已经测试过的版本。您可以执行
heroku运行bash
并在bash提示符下执行
gem安装bundler