【发布时间】:2013-02-18 16:13:12
【问题描述】:
我正在 Amazon Web Services 上运行一个 Ubuntu 实例,用于开发 Ruby on Rails 应用程序(用于测试运行本地 Rails 服务器),并将应用程序推送到 Heroku 进行部署。
直到昨天我想将我的开发数据库的内容推送到生产环境而不仅仅是应用程序本身时,此设置对我来说一直没有问题。经过一些快速的谷歌搜索,这似乎很容易通过使用Taps 来完成。我不确定 Taps 是否预装了 Heroku Toolbelt(这是我一直在使用的),所以在按照 Heroku 上的文档进行操作后,我只运行了命令 rake db:push - 这返回了错误:
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
很简单,对吧?错误的。运行sudo gem install taps(并观察安装运行没有任何问题)后,我重新运行命令rake db:push,只是发现自己面临同样的Taps Load Error。考虑到 Heroku 服务之前运行的轻松程度,这有点令人惊讶,事情一开始就没有顺利进行。
经过一番谷歌搜索后,我发现了一个两年多前在 Heroku 的 github 页面上打开的问题,该页面直到最近 3 个月前才收到处理此问题的人的帖子,所以在阅读了一些推荐之后我决定尝试直接安装 heroku gem(尽管它已被弃用以完全被 Toolbelt 取代),因为人们似乎得到了正确的结果。
我很犹豫,因为我不想让工具带和独立 gem 相互竞争,所以我用谷歌搜索了如何卸载 heroku 工具带(这似乎没有一个好的 heroku 提供的解决方案 - 可能在heroku上开一张票...),但我按照link上的说明进行操作,有人应该为此打我,因为它只是以下命令:
rm -rf /usr/local/heroku
rm -rf /usr/bin/heroku
并且这些命令不考虑依赖关系等......我认为这是部分(如果不是完全)我的问题的根源。此时,我运行了命令sudo gem install heroku,得到了弃用警告,然后简单地尝试运行命令heroku login 作为试金石,看看它是否安装正确,但我收到了一个可怕的Gem:LoadError说
Could not find heroku (>= 0) amongst [... a bunch of gems ...]
所以,我决定尝试回到开始而不担心事情,所以我卸载了简单的 sudo gem uninstall heroku 的 heroku gem,删除了相关的可执行文件,然后尝试重新安装 Toolbelt按照 Heroku 上列出的命令:
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
在屏幕上打印出一堆看起来不错的输出后,我认为一切都会好起来的,但安装过程的最后一条消息是:
heroku-toolbelt is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 102 not upgraded.
这就是我所在的地方,我已经按照link 删除了明显重要的内容(请再打我一次),现在安装工具带并没有注意到它们丢失了,我没有heroku或水龙头就卡住了! (此外,令人不安的是,heroku 没有提供一种干净的方式来卸载工具带 - 这会使这样的事情变得不那么复杂)
非常感谢您的帮助。
【问题讨论】:
标签: ubuntu heroku heroku-toolbelt