Ruby on Railsアプリ(ローカルRailsサーバーの実行のテストに使用されています)の開発のためにAmazon Web ServicesでUbuntuインスタンスを実行しており、デプロイのためにアプリをHerokuにプッシュしています。
このセットアップは、アプリ自体だけでなく、開発データベースのコンテンツを本番環境にプッシュしたい昨日まで、問題なく機能しました。少しグーグルした後、これはを使用して簡単に達成できるようTaps
でした。TapsにHerokuToolbelt(これは私が使用していたもの)がプリロードされているかどうかわからなかったので、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サービスがどれほど簡単に実行されたかを考えると、最初のショットで物事がうまくいかなかったのは少し驚きでした。
さらにグーグルした後、2年以上前にHerokuのgithubページで開かれた問題に遭遇しました。この問題は、3か月前までこの問題を扱っている人々に投稿されていたため、いくつかの証言を読んだ後、人々は正しい結果を得ているように見えるので、heroku gemを直接インストールしてみてください(完全にToolbeltに置き換えられるため、非推奨になっていますが)。
ツールベルトとスタンドアロンのgemを互いに競合させたくなかったので、私は躊躇していました。そこで、herokuツールベルトをアンインストールする方法をグーグルで検索しました(これは、herokuが提供する優れたソリューションではないようです-チケットを開く可能性があります) on heroku ...)しかし、私はこのリンクの指示に従いました。これは、次のコマンドであるため、誰かが私を叩く必要があります。
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 ...]
そこで、最初に戻って何も心配しないことにしたので、単純なheroku gemをアンインストールしsudo gem uninstall heroku
、関連する実行可能ファイルを削除してから、にリストされているコマンドに従って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.
そして、これが私がいる場所です。リンクをたどって明らかに重要なコンテンツを削除しました(もう一度私を叩いてください)。ツールベルトをインストールしても、それらが欠落していることに気付かず、herokuなしで立ち往生しています。またはタップします!(また、herokuがツールベルトをアンインストールするためのクリーンな方法を提供していないことは腹立たしいことです-これにより、このようなことははるかに簡単になります)
ヘルプは大歓迎です。