はじめてRailsアプリをHerokuにデプロイしたときに大きくつまった2点
そんな暇あったら、ニコニコカレンダーを進めろよ、と思うのですが、
せっかくなので、Railsの勉強もしたい!!
Windows環境で、Railsアプリを作って、Herokuにデプロイするところまで、
Learn Web Development with the Ruby on Rails Tutorial
を教科書にして行ってみました。
内容はチュートリアルを参照、ということし、ここでは、
大きくふん詰まった2点を書き留めておきます。
誰かのお役に立ちますように・・・。
1.jsonがインストールできぬ
これは調べるとすぐに出てくるDevKitないよエラー。
ERROR: Error installing rails: The 'json' native gem requires installed build tools. Please update your PATH to include build tools or download the DevKit from 'http://rubyinstaller.org/downloads' and follow the instructions at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
メッセージにあるようにDevelopment-Kitを入れましょう。
と、ここまではよかった。
rubyinstaller.orgには
- DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
- DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
- DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
の3種類があります。
Windows7の64bitだったので、一番下を選択しました。
(そもそもこの判断がダメ???)
ところが、どこをどうしても、
Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing rdiscount: ERROR: Failed to build gem native extension.
のエラーから抜け出せぬ。
Google先生にお伺いをたてまくり、あーーーでもない、こーーーでもない、していると、
結城大先生のブログに行き着く。
プラットホームが64bitなことに起因してるのかなと予想したが、深追いするのはやめた。
http://d.hatena.ne.jp/hyuki/20121113/heroku/
とのこと。
エラーの内容が似ていたため、もしや、と思い、
- DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
を入れなおす。
すると、すんなりインストールできました。泣。
2.herokuにpushできぬ
これは私の環境だけかもしれませんが、、、
C:\path\to\first_app>git push heroku master Warning: Permanently added 'heroku.com,50.19.85.132' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
公開鍵ちゃんとアップロードしてあるのに、、、
Google先生にお伺いをたてると、
- keys:refreshしてkeys:addし直してみなさいな
- C:\Users\%USER%\.ssh\config 作りなさいな
- git\.sshにC:\Users\%USER%\.sshの中身をコピーしなさいな
- ssh-keygenで鍵ファイル作り直してみなさいな
等いろいろ出てきましたが、どれもダメ。
ぐぬぬと試行錯誤しているうちに、
- herokuは鍵ファイルを正しく見つけている
- だってkeys:addできるもん
- git pushで実行されているsshが鍵ファイルを見つけられない
- ひょっとしてユーザーのホームディレクトリがわからない?
という状況なのではないかと推測しました。
んでコマンドプロンプトから、
set HOME=C:\Users\%USER%
としてみたところ、ちゃんとpushされました。泣。
うむ。これで、先に進める。