New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

Cloud9 + Rails + Heroku

Ruby on Rails チュートリアル の第二章の一番最後で、Herokuにディプロイして、rakeする操作があるのだが、Cloud9からHerokuに対してrakeコマンドが打てなくて困っていた。

ウェブを調べると "How to rake database to Heroku on cloud9"とまったく同じ悩みを抱えている人がいたのだが、その回答は、以下の通り残念なものに。

You will need to use the heroku gem locally to manage your application ...(アプリケーションを管理する為にローカル環境のheroku gemを使う必要があります) 

もうダメかと諦めかけていたのですが、Cloud9のDocsに、heroku toolbelt (Heroku Client) を使う方法が書いてありました(Deploying via the Command Line | Cloud9 User Documentation)。

 

Cloud9からHerokuに対してrakeする方法

インストール

基本的にはdocsの通りで良いのですが、アプリケーション・ディレクトリにHeroku Clientが配置されるのを防ぐ為に、チェンジ・ディレクトリを一行入れてあります。

$ cd ~

wget http://assets.heroku.com/heroku-client/heroku-client.tgz

$ tar xzfv heroku-client.tgz
$ rm heroku-client.tgz
$ cd heroku-client/bin
$ PATH=$PATH:$PWD

 設定と実行

$ heroku login

Enter your Heroku credentials.

Email: <Email Address>

Password (typing will be hidden): <password>

Authentication successful.

$ heroku run --app <app name> rake db:migrate

これで無事に"rake db:migrate"できました。