11

首先,我使用的是 RVM ......而且我对管理 gem 列表知之甚少。

因此,我尝试使用 heroku db:push 将我的数据库推送到 heroku,但出现以下错误:

$ sudo heroku db:push
Taps Load Error: no such file to load -- 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,现在在水龙头 0.3.23),我有最新的 heroku。不知道为什么会这样……而且我似乎也无法在网上找到太多关于它的信息。我尝试运行 sudo heroku db:push,但这并没有改变任何东西。

我还尝试在本地安装 gem(?),但这给了我一个 gem 权限错误。

关于这里可能发生什么的任何想法?

4

3 回答 3

11

如果您使用 RVM,那么

gem install taps

如果你不是,那么

sudo gem install taps

如果它仍然不起作用,请运行taps并查看它是否产生错误。我的抱怨没有安装 sqlite3。我安装了 sqlite3 gem,它工作

gem install sqlite3

不,我没有在我的应用程序的任何地方使用 sqlite3。您的错误也可能是由其他一些依赖引起的。

如果您仍然无法卸载 heroku 和 taps,然后重新安装

gem uninstall heroku
gem uninstall taps
gem install heroku
gem install taps
于 2012-09-14T02:03:16.410 回答
4

除了更新taps你还应该更新heroku

gem update taps
gem update heroku

然后检查您是否有多个版本:

which -a gem
gem list

如果返回多个版本,taps或者heroku您应该删除旧版本:

gem卸载水龙头 gem卸载heroku

您还应该确保rvm已安装并正常工作。

如果你$ rvm在控制台中输入,你应该会得到一些输出。如果不这样做,则需要在此处再次安装 rvm 。

然后rvm list你可以看到不同的 ruby​​ 版本。查看您使用的 ruby​​ 版本ruby -v。如果它低于1.9.2尝试安装新的 ruby​​ 版本。

于 2011-07-19T11:39:07.603 回答
3

如果您使用的是 RVM,则永远不应使用 sudo。

在推送失败时,您设置了 RVM 使用哪个 ruby​​?您应该只需要为该 ruby​​ 安装 heroku 和 taps gems(同样,没有 sudo)。使用“gem list heroku”和“gem list taps”来检查。

于 2011-07-19T04:04:27.157 回答