我一直在使用Heroku和Taps宝石一段时间,经常做一个heroku db:push
来推动我的数据库投入生产。
今天早上,我注意到一条消息称Heroku宝石已被弃用,已被Heroku Toolbelt取代。所以我卸载了宝石并安装了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。
答案 0 :(得分:8)
我使用here的命令卸载了工具带:
rm -rf /usr/local/heroku
rm -rf /usr/bin/heroku
然后从我的.bash_profile
中删除了以下内容###由Heroku Toolbelt添加
export PATH =“/ usr / local / heroku / bin:$ PATH”
它又有效了。
故事的道德 - 避免使用Heroku Toolbelt并坚持使用宝石。
答案 1 :(得分:1)
你能为Heroku尝试PG Transfers插件,文档在页面本身。
https://github.com/ddollar/heroku-pg-transfer
这似乎是Heroku推荐的方法。
答案 2 :(得分:0)
您不必删除工具带就可以使用宝石版本来处理一个关闭的情况,例如破损的水龙头:
% gem install heroku
% $(rbenv root)/shims/heroku version
heroku-gem/2.35.0 (x86_64-darwin12.2.0) ruby/1.9.3
这是使用rbenv
,但rvm
,chruby
等应该类似。
答案 3 :(得分:0)
好吧,Heroku suggests使用PG Backups add-on。点击+ Heroku组合make problems to many,部分原因是Taps旨在产生与数据库无关的转储,这并不容易。
缺点是您必须将转储上传到S3或其他东西。