homebrewでRubyのバージョン変更

Rubyの違うバージョンを使いたい場面があったのでやってみた。

まずデフォルトのRubyバージョン1.8.x

今回使いたいのが1.9.x

バージョンを上げる為にbrew install ruby

2.0.xになる。

こっから。

homebrewでリンクされているRubyを解除
$ brew unlink ruby
$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]
homebrewで使えるruby一覧表示
$ brew versions ruby
2.0.0-p195 git checkout dad5917 /usr/local/Library/Formula/ruby.rb
2.0.0-p0 git checkout 3085c40 /usr/local/Library/Formula/ruby.rb
1.9.3-p392 git checkout 6c26d0a /usr/local/Library/Formula/ruby.rb
1.9.3-p385 git checkout e5b9678 /usr/local/Library/Formula/ruby.rb
1.9.3-p374 git checkout b0f8027 /usr/local/Library/Formula/ruby.rb
1.9.3-p362 git checkout 62b8c63 /usr/local/Library/Formula/ruby.rb
1.9.3-p327 git checkout 1734e5b /usr/local/Library/Formula/ruby.rb
1.9.3-p286 git checkout 1b726f7 /usr/local/Library/Formula/ruby.rb
1.9.3-p194 git checkout 9c6ea53 /usr/local/Library/Formula/ruby.rb
1.9.3-p125 git checkout bf3dfa9 /usr/local/Library/Formula/ruby.rb
1.9.3-p0 git checkout 7338ed6 /usr/local/Library/Formula/ruby.rb
1.9.2-p290 git checkout b6aa338 /usr/local/Library/Formula/ruby.rb
1.9.2-p180 git checkout 83ed494 /usr/local/Library/Formula/ruby.rb
1.9.2-p136 git checkout f282737 /usr/local/Library/Formula/ruby.rb
1.9.2-p0 git checkout 773915d /usr/local/Library/Formula/ruby.rb
1.9.1-p378 git checkout d0efd9e /usr/local/Library/Formula/ruby.rb
1.9.1-p243 git checkout d0ed812 /usr/local/Library/Formula/ruby.rb
使いたいバージョンをインストール
  • 一覧の使いたいバージョン行のgit checkout ...部分を実行
$ cd /usr/local
$ git checkout e5b9678 /usr/local/Library/Formula/ruby.rb
  • そしてインストール
$ brew install ruby
結果
$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin11.4.2]

できた。

ちなみに

既にインストール済のバージョンに切り替える場合は

$ brew switch ruby 2.0.0-p195
さらに
  • Groovy
$ brew versions groovy
2.1.4    git checkout 050f611 /usr/local/Library/Formula/groovy.rb
2.1.3    git checkout 2d2b914 /usr/local/Library/Formula/groovy.rb
2.1.1    git checkout c61e715 /usr/local/Library/Formula/groovy.rb
2.1.0    git checkout ab37262 /usr/local/Library/Formula/groovy.rb
2.0.5    git checkout 1bcf5af /usr/local/Library/Formula/groovy.rb
2.0.4    git checkout 01af5da /usr/local/Library/Formula/groovy.rb
2.0.2    git checkout 1fe5096 /usr/local/Library/Formula/groovy.rb
2.0.1    git checkout 3860b66 /usr/local/Library/Formula/groovy.rb
2.0.0    git checkout 278a37d /usr/local/Library/Formula/groovy.rb
1.8.6    git checkout b688a91 /usr/local/Library/Formula/groovy.rb
1.8.5    git checkout d90e061 /usr/local/Library/Formula/groovy.rb
1.8.4    git checkout b9c0c5d /usr/local/Library/Formula/groovy.rb
1.8.3    git checkout 998c8b4 /usr/local/Library/Formula/groovy.rb
1.8.2    git checkout dad52b5 /usr/local/Library/Formula/groovy.rb
1.8.1    git checkout 57286a1 /usr/local/Library/Formula/groovy.rb
1.8.0    git checkout e6f4d4a /usr/local/Library/Formula/groovy.rb
1.7.10   git checkout db01f6c /usr/local/Library/Formula/groovy.rb
1.7.8    git checkout 0476235 /usr/local/Library/Formula/groovy.rb
1.7.7    git checkout 2e8b386 /usr/local/Library/Formula/groovy.rb
1.7.6    git checkout b43149a /usr/local/Library/Formula/groovy.rb
1.7.5    git checkout b56ff28 /usr/local/Library/Formula/groovy.rb
1.7.4    git checkout cbb36af /usr/local/Library/Formula/groovy.rb
1.7.3    git checkout 6c5485b /usr/local/Library/Formula/groovy.rb
1.7.2    git checkout a9a3469 /usr/local/Library/Formula/groovy.rb
1.7.1    git checkout 0d0d7cd /usr/local/Library/Formula/groovy.rb
  • Gradle
$ brew versions gradle
1.6      git checkout 7900579 /usr/local/Library/Formula/gradle.rb
1.5      git checkout 57931e0 /usr/local/Library/Formula/gradle.rb
1.4      git checkout 0b7303a /usr/local/Library/Formula/gradle.rb
1.3      git checkout c259bda /usr/local/Library/Formula/gradle.rb
1.2      git checkout 9b7d294 /usr/local/Library/Formula/gradle.rb
1.1      git checkout 7941972 /usr/local/Library/Formula/gradle.rb
1.0      git checkout dff67fb /usr/local/Library/Formula/gradle.rb
1.0-rc-3 git checkout 5f9e348 /usr/local/Library/Formula/gradle.rb
1.0-rc-2 git checkout f72e33f /usr/local/Library/Formula/gradle.rb
1.0-rc-1 git checkout e2438cf /usr/local/Library/Formula/gradle.rb
1.0-milestone-9 git checkout c27c667 /usr/local/Library/Formula/gradle.rb
1.0-milestone-8a git checkout 69eb948 /usr/local/Library/Formula/gradle.rb
1.0-milestone-7 git checkout 6a8c437 /usr/local/Library/Formula/gradle.rb
1.0-milestone-6 git checkout dae625d /usr/local/Library/Formula/gradle.rb
1.0-milestone-5 git checkout baff305 /usr/local/Library/Formula/gradle.rb
1.0-milestone-4 git checkout 4b1230c /usr/local/Library/Formula/gradle.rb
0.9.2    git checkout 38b9338 /usr/local/Library/Formula/gradle.rb
0.9.1    git checkout f986d7d /usr/local/Library/Formula/gradle.rb
0.9      git checkout 45e09d7 /usr/local/Library/Formula/gradle.rb
0.8      git checkout e6f608f /usr/local/Library/Formula/gradle.rb

とかもある。

homebrewでバージョン管理も出来る!!! めちゃ便利!!!

Geb(Selenium) + JSCoverでJavaScriptのカバレッジ

"Selenium(Geb)でテストしてるクライアントJavaScriptカバレッジを取りたい" JSCoverのproxy modeで繋ぐのが良さそうなのでやってみた

  • JSCoverはJSCoverageの後継らしい(あんまり知らない)

https://github.com/koizuss/geb-jscover-sample

ハマったポイントはWebDriverのオプション設定(chromedriver1と2で設定方法違う...)とカバレッジ結果を表示する時もChromeなら--allow-file-access-from-files オプションが必要(プロキシには繋がってるのにカバレッジ表示されないって小一時間...)

これで心置きなくGebSpecでJavaScriptテストが書ける(そもそも邪道??w)

Sublime Text 2 Docblockr Pluginとgoogle日本語入力を使っていてENTERを押したら入力内容が消える問題を解消

いや、根本解決してないのだが...

とりあえず入力できるようになったのでメモ

  1. Sublime Text 2ホーム/Packages/DocBlockr/Default.sublime-keymap を開く

    • Sublime Text 2ホームがわからなければ Preference > Browse Packages...でフォルダ開く
  2. ↓の箇所をコメントアウトして保存

RedmineをHerokuにあげる

まーまー頑張った。
まーまーへこたれた。


こけまくった経緯はさせおき、
最終型をここに記する。


RedmineRedmineをサクッとたてる - hounobouno参照


んでこれをHerokuにあげたいと
Herokuは言わずと知れたこんなやつ
http://www.heroku.com/
どんなやつかはGoogle先生に聞いてください。

まずはHerokuのセットアップ

gem install heroku

http://devcenter.heroku.com/articles/heroku-command

デプロイ先を造る

heroku create <app-name>

んでとりあえずあげてみる

git add .
git commit -m <message>
git push heroku <branch>

は自分のgitブランチ名
gitブランチ名がmasterじゃない時は:masterにする
これでheroku側のmasterブランチにがpushされる
# Redmineがgitで管理されていることを前提に書いています。
# 自身の環境はRedmineをGithubで管理しています。(この方法も忘れないうちに残しておこうと思ってます)

んでとりあえず動いてるか見てみる

heroku open

このコマンドでデフォルトブラウザで開く
# どーでもいいけどこれをheroku opneと何回もタイプミスする


# ここら辺までのことは↓の通り
http://devcenter.heroku.com/articles/quickstart


もちろんそのままでは Application Error とか言われる

Herokuのログを確認

heroku logs

# heroku logと書いて「んなもんねーよ」っつて何回も怒られる。

2011-10-19T15:39:26+00:00 app[web.1]: Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`

だそうで。
# Heroku上のgem installのやり方がわからんくて四苦八苦

.gemsを造る

直下に.gemsファイルを造って以下を書く

18n --version 0.4.2
rails --version 2.3.11

# railsも書かないとMissingる
↓参考にさせて頂きました。
http://kuranuki.sonicgarden.jp/2009/05/herokugem.html
http://devcenter.heroku.com/articles/gemmanifest


んでもっかいあげてみる


もちろんまだエラー。

ファイルの出力先を変更する

ログを見てもらうとわかりますが、デフォルトの設定だとRedmineが出力するファイルやチケットに添付するファイルの出力先に権限がないのです。
これを修正
↓参考にさせて頂きました。
http://d.hatena.ne.jp/easylifenw/20100226/1267189595


んでまたあげる。


今度は別のエラー画面になるはず。
DBが空なんででている(と思われる)

ローカルDBをHerokuにほりこむ

↓参考にさせて頂きました。
http://docs.komagata.org/4558


DBほりこみモジュールをインストール

sudo gem install taps


houri.com

heroku db:push

# このコマンドでdb/development.dbが反映されます
# 自身の環境では先に以下を実行して今まで使っていたデータをコピーしました。

cp db/redmine.db db/development.db


# 直接ファイルを指定する場合は

heroku db:push sql://<path>


あげなおしてheroku open


おっっっっっっしゃぁああああああってなります。(と思います)

Redmineをサクッとたてる

我が家にMac book airが来た!!!
これからいろいろ出来る!!!
いろいろする為にまずはやることを整理したい!!!


とゆーわけでまずはRedmineをサクッとたててみた。

兎にも角にもダウンロード

svnから
# svnはもちろんデフォルトで入っている

svn checkout http://redmine.rubyforge.org/svn/branches/1.2-stable redmine

DB設定

dbの設定をsqlite用に書き換え
# sqlite3もデフォルト

cd redmine
cp config/database.yml.example config/database.yml
vi config/database.yml


内容はこんな感じ

production:
  adapter: sqlite3
  dbfile: db/redmine.db

development:
  adapter: sqlite3
  dbfile: db/redmine-dev.db

test:
  adapter: sqlite3
  dbfile: db/redmine-test.db


db最適化

rake db:migrate RAILS_ENV=production


ぅぷす。動かない。

Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`


おっしゃる通りに

sudo gem install -v=0.4.2 i18n
  • You don't have write permissions て言われたのでsudo付けた


もっかいrake db:migrate
ぅぷす。まだ動かない。

Missing the Rails 2.3.11 gem. Please `gem install -v=2.3.11 rails`


おおせのままに

sudo gem install -v=2.3.11 rails


もっかいrake db:migrate
ん。

rake aborted!
A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" } in config/environment.rb


こちらを参考にさせて頂き解決。

vi config/environment.rb 


よしゃ。これでrake
お。

rake aborted!
no such file to load -- sqlite3


あ。

sudo gem install sqlite3


n回目のrake

** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
==  Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
   -> 0.0018s

...

でけた。


# ↓の警告はメール設定のだと思うので一旦無視

WARNING: 'task :t, arg, :needs => [deps]' is deprecated. Please use 'task :t, [args] => [deps]' instead.
at /Users/kiyoshiro/work/redmine/redmine/lib/tasks/email.rake:170

動かす

./script/server -d -e production
open http://0.0.0.0:3000

でけた。


あ。調子に乗ってデーモン起動させてもた。


WEBrickをkill

ps ax | grep ruby

でプロセスを探すと

15709 ?? R 0:27.87 ruby ./script/server -d -e production
15789 s000 S+ 0:00.00 grep ruby

いたのでkill

kill 15709


...killれない。


こちらを参照。勉強になりました。

kill -INT 15709


無事kill


次回からは「-d」を付けないで起動する。


以上。サクッと??