6

一段时间以来,我一直在愉快地使用 Heroku 和 Taps gems,并定期heroku db:push将我的数据库推向生产环境。

今天早上我注意到 Heroku gem 已被弃用的消息,已被 Heroku Toolbelt 取代。所以我卸载了 gem 并安装了 Heroku Toolbelt。

下次我去推送我的数据库时,我收到以下错误:

!    Taps Load Error: cannot load such file -- taps/operation
!    You may need to install or update the taps gem to use db commands.
!    On most systems this will be:
!    
!    sudo gem install taps

Heroku 和 Taps 都已正确安装,但令人沮丧的是,我尝试按照说明(“安装或更新 taps gem 以使用 db 命令”)但没有成功。(重新)安装正常,但是当我尝试推送数据库时仍然出现上述错误。任何人都可以建议修复吗?我正在使用 rbenv。

4

4 回答 4

8

好吧,我使用此处的命令卸载了工具带:

rm -rf /usr/local/heroku
rm -rf /usr/bin/heroku

然后从我的 .bash_profile 中删除以下内容

### 由 Heroku 工具带添加

导出 PATH="/usr/local/heroku/bin:$PATH"

它再次起作用。

故事的寓意 - 避免使用 Heroku Toolbelt 并坚持使用宝石。

于 2012-10-21T21:15:24.787 回答
1

你可以试试 Heroku 的 PG Transfers 插件吗,文档在页面本身。

https://github.com/ddollar/heroku-pg-transfer

这似乎是 Heroku 现在推荐的方法。

于 2012-10-22T11:24:34.217 回答
0

您无需移除工具带即可将 gem 版本用于一次性情况,例如水龙头损坏:

% gem install heroku
% $(rbenv root)/shims/heroku version
heroku-gem/2.35.0 (x86_64-darwin12.2.0) ruby/1.9.3

这是使用rbenv, 但是rvmchruby或类似的应该是相似的。

于 2013-03-20T16:16:46.623 回答
0

好吧,Heroku 建议 使用PG Backups 插件。Taps+Heroku 的组合给许多人带来了麻烦,部分原因是 Taps 旨在生成与数据库无关的转储,这并不容易。

缺点是您必须将转储上传到 S3 或其他东西。

于 2013-04-19T17:57:08.983 回答