【Windows】【Ubuntu】v.s. Heroku の記録〜あらすじ〜【Sinatra】【Gems】

ここ数日続いていたHerokuとの戦いがひとまず決着したので、ここに記す。


〜あらすじ〜
紆余曲折の3日間。


Windows
最初の戦場はWindows

heroku create

までは何の問題もなかったが、

git push heroku

時に、秘密鍵パーミッションが600でないと責められ続け、敗北。どうすれっちゅーんじゃ。


Linux(Ubuntu)
戦いの場をLinux on VMwareに移し、第二戦。
こちらはすんなり行くと思いきや、RubyとGemsのインストール&環境変数でいきなり躓く。gemでインストールしたコマンドにパスが通っていない!
ここは、

export PATH=/var/lib/gems/1.8/bin:$PATH

RubyGems のインストール

で回避。


さらに、公開鍵が謎のエラー

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

を起こし続けるという苦境におちいる(Windowsでも出てたけど)。かなりげんなり。
そして、和香にもすがる思いで暗号化方式をRSAからDSAに変更すると、なぜか解決。なぜだ。
Managing Your SSH Keys | Heroku Dev Center


ともかく、

git push heroku master

まではクリア。


RubyGems
最後に、gemを巡る争い。pushが成功したので、嬉々としてheroku.comにアクセスすると、

sinatra (LoadError).

アプリケーションがエラーを吐いている。しばし愕然。


だが、ここは暫く木偶の坊だったグーグル先生が助太刀してくださった。
必要なgemを記述した.gemsファイル

# .gemsファイルの内容
sinatra

をgit pushすることで見事に勝利。やったー!
heroku gem - Google 検索



こうして、Herokuとの3日間に渡る長き戦いに勝利した私は、ようやくWebアプリケーション本体の開発に着手するのであった。





■追伸
サンプルに使用したアプリケーション
GitHub - sinatra/heroku-sinatra-app

config.ruもきちんとgit pushすることがポイント。ここが一番Sinatra初心者がハマるとこかも。



■メモ
あとで調べる。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/c/Documents and Settings/user/.ssh/id_rsa.pub' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /c/Documents and Settings/user/.ssh/id_rsa.pub