【Windows】【Ubuntu】v.s. Heroku の記録〜あらすじ〜【Sinatra】【Gems】
ここ数日続いていたHerokuとの戦いがひとまず決着したので、ここに記す。
〜あらすじ〜
紆余曲折の3日間。
heroku create
までは何の問題もなかったが、
git push heroku
時に、秘密鍵のパーミッションが600でないと責められ続け、敗北。どうすれっちゅーんじゃ。
■Linux(Ubuntu)
戦いの場をLinux on VMwareに移し、第二戦。
こちらはすんなり行くと思いきや、RubyとGemsのインストール&環境変数でいきなり躓く。gemでインストールしたコマンドにパスが通っていない!
ここは、
export PATH=/var/lib/gems/1.8/bin:$PATH
で回避。
さらに、公開鍵が謎のエラー
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