heroku toolbeltでmacに上手くインストールできない時
Railsチュートリアル、「1.4.1 Herokuのセットアップ」で躓きました。
単純に
Heroku Toolbelt
ここからmac版をダウンロードしてインストールしたのにそのあと、
$ heroku --version
を打つと、
rbenv: heroku: command not found The `heroku' command exists in these Ruby versions: 1.9.3-p194
とhetokuコマンドが使えない?
調べてみると、
"rbenvを使っていて、他のrubyのバージョンでもheroku gemを使っていた場合は"
このような表示がでると。
なので、
今Railsチュートリアルでやりたいのはruby 2.0.0だからこの1.9.3-p194のherokuはアンインストールする必要があると。
そういえば以前の学習時に1.9.3ぐらいでherokuを一度使っていたからそれがインストールされていたんだ・・・。
ってことで
表示されていたそれぞれのRubyのバージョンでgen uninnstallをする
$ rbenv shell 1.9.3-p194 $ gem uninstall heroku
この状態でもう1度heroku toolbeltをインストールしてみる。
そうしてターミナルを再起動する。
もう1回、
$ heroku --version
すると
Your version of git is 1.7.10.2. Which has serious security vulnerabilities. More information here: https://blog.heroku.com/archives/2014/12/23/update_your_git_clients_on_windows_and_os_x heroku-toolbelt/3.37.0 (x86_64-darwin10.8.0) ruby/1.9.3 You have no installed plugins. updating Heroku CLI...done. Updated to 3.37.1
となるけど、
「heroku-toolbelt/3.37.1 (x86_64-darwin10.8.0) ruby/1.9.3」
古い方に入ってないかこれ!?
でも同じようにこれを見るとgithub.com
グローバルバージョンが2.0.0でもこれでいいみたいなこと書いてる。
特に互換性があるわけではないみたいなのでこれでいいのかな?
heroku toolbeltのアンインストール
$ rm -rf /usr/local/heroku $ rm -rf ~/.heroku
Gitのブランチ機能の基礎の基礎
Railsチュートリアルの第1章の「1.3.5ブランチ (branch)、変更 (edit)、 コミット (commit)、マージ (merge)」
1.ブランチ作成
$ git checkout -b modify-README
このコマンドはブランチの「新規作成」と「そのブランチへの切り替え」が同時に行われている。
もし別々に打つと。
↓
$ git branch modify-README
で新規作成
$ git checkout modify-README
でブランチの切り替え。
2.変更作業
今回はREADMEファイルの書き換えと拡張子の変更。
$ git mv README.rdoc README.md
これは
$ mv README.rdoc README.md
としても同じこと。
詳細はスクリーンキャストで解説されていた。
またはqiita.com
こちらの方が細かく検証していただいています。
3.ブランチの確認
READMEファイルの変更が終わったらブランチの状態を確認する。
$ git status
そうすると、
# On branch modify-README # Changes to be committed: # (use "git reset HEAD..." to unstage) # # renamed: README.rdoc -> README.md # # Changed but not updated: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: README.md #
こんな感じでmodifiedと編集されたのがわかります。
4.コミット
$ git commit -a -m "Improve the README file"
こうすると
$ git add -A
と
$ git add -m "Improve the README file"
を一緒にまとめてすることができる。
5.マージ(merge)
$ git checkout master
マスターブランチの方にいく。
そして、次に合流させてあげる(マージしてあげる)。
$ git merge modify-README
git merge のあとにマージする対象のブランチを選ぶ。
*1:(注意)この時点では、 「master」ブランチではREADMEは変更が加えられていないが、 「modify-README」ブランチではREADMEはもちろん変更されている状態。
githubの公開鍵設定での躓き記録
Railsチュートリアルの「1.3.4GitHub」は結構躓いた。
gitでコミットさせたアプリをgithubにはじめてpushするという作業。
Generating SSH keys => GitのSSHキーを作成??
SSHのキーだと!?
ってこれはまず公式サイトはここ↓
Generating SSH keys - User Documentation
実際日本語版で見て作業をしたのはここ↓
Git - SSH 公開鍵の作成
躓く場所1
SSHで試しに繋げてみるとこんな感じのエラーっぽいのが出た。
Warning: Permanently added the RSA host key for IP address '192.XX.XXX.XXX' to the list of known hosts. Hi cremeshi! You've successfully authenticated, but GitHub does not provide shell access.
この「Warning」はなんじゃい?ってことで、調べていたんですが、どうやらここは気にする必要はないみたいです。
「 Hi cremeshi! You've successfully authenticated, but GitHub does not provide shell access.」というのが出ればSSHで開通ってことで!
躓く場所2
ここが一番躓いたのですが、接続に成功したのにもかかわらず、
git push -u origin master
でアプリケーションをpushしようとするとgithubの名前とパスワードを聞かれる。
いやいや、それをカットするためにわざわざ秘密鍵ってのと公開鍵っての作ったのに!
ここで何度やってもダメ。
git remote add origin https://github.com//first_app.git
このように書いてあるのですが、実際httpじゃなくてSSHの方を選ばないといけないので、
git@github.com:/first_app.git
こっちなんだよね。
あーこれに1時間かかった。
ちなみに
git remote -v
で具体的なURLを確認すことができる。
実際はこんな感じ。
origin git@github.com:cremeshi/first_app.git (fetch) origin git@github.com:cremeshi/first_app.git (push)
fetchの方でとってくる場所。pushはローカルの置き場所の方。基本的にURLは同じになる。
rubyバージョンのPって何よ?
rubyのバージョンでよく
2.0.0-p353
の「p」ってみかけるけど、
これは「パッチレベル」と言らしい。
「バージョン2.0でやってください」
と言われたらパッチレベルはどれでもOKだということ。
ターミナルからSublime textを起動させる方法
Mac OS XでターミナルからSublime textを起動させる方法。
とりあえずここ見たら大丈夫。
↓
Mac OSX でターミナルから subl コマンドで Sublime Text を起動する方法 [Sublime Text 3 の参考書(実践編)Wiki]
↓
設定は簡単で、
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /bin/subl
このあと
subl -h
を実行してsublのヘルプが表示されればOK!
これでも使うのか?
rails sで「/bin/rails:6: warning: previous definition of APP_PATH was here」エラー
ある日、ターミナルで「rails s」するとWEBrickが起動しない現象。
エラーを診てみると、
warning: previous definition of APP_PATH was here
何パスが違うの?
よくわからずに検索していると、
同じ現象が出ている人を見つけました。
参考:
[Error] bin/rails:6: warning: already initialized constant APP_PATH [rails]tic40.hatenablog.com
非常にたすかりました。
で、同じように
rake rails:update:bin
と打ち込む。
すると
Symbol not found: _SSLv2_client_method
が見つかりませんと。
今度は同じ現象のこの方を参考に。manabiblog10.hateblo.jp
なるほど。
Rubyを一度消して再インストールすれば解決するそうだ
その解決方法はここに。qiita.com
でrbenvのuninstallから。
rbenvは何?っていう疑問ももともとありつつ。
解決までの経由を以下にメモ。
$ rbenv versionsでバージョンの確認
↓
$ rbenv uninstall 2.0.0-p353でアンインストール
ここで「rbenv: remove /Users/name/.rbenv/versions/2.0.0-p353?」
とハテナが出てきてハテナ?
どやら「y/N」のヤツみたいで最初ずっとenterしてた・・・。
ここは「y」を選びます。
$ rbenv install 2.0.0-p353で再インストール
ぶわーッといっぱいインストールされているのがわかります。
↓
$ gem install bundler これインストール
↓
次に$ bundle install
↓
ぶわーッといっぱいインストール。
スーパーに行って帰ってこれるぐらい時間かかる。
$ rbenv rehash
このリハッシュはよくわかりません・・・
で
最後に
rails s
で無事サーバーが起動しました。
めでたしです。
上記で紹介した方ありがとうございました。