rvmで入れた最新のrubyを使おうとしたら、Sublime Text 2がOS標準のを見に行ってしまうのですっきりさせた

昨日、rvmでruby1.9を入れたんですが、早速Sublime Text 2でruby書こうと思ったら1.8を読みに行ってました。

terminalで ruby -v したら1.9だよって出るんですけどねーおかしいなー

ruby 1.9.3p362 (2012-12-25 revision 38607) [x86_64-darwin11.4.2]

ST2で00.rbを作り、以下のコードで動かしてみると

p RUBY_VERSION

出力は1.8だという。

"1.8.7"
[Finished in 0.2s]

調べてみたらみんな英語でわかんない、ライブラリのRuby.sublime-buildをいじれと言うんです。

Sublime Text 2 with RVM on OSX

多分ですね、こちらの~/bin/rvm_rubyを作るやり方は、rvmでスイッチするとST2から使う奴も自動的に切り替えてくれるんだと思います。しかし私は切り替えるつもりはさらさらないのでまずこのスクリプトはいりません。

さらに、ST2のバージョンアップとかでこの.sublime-buildが上書きされるんじゃないかとか不安になって、とりあえず昔の方法でそもそもMacが最初にrubyを入れる場所に1.9をコピーしてしまえという方法に出ました。

  1. rvmでuseしているのは rvm info でbinaries:ruby:と出ている場所。これをコピーする。
  2. 1.8.7が入っているのは/usr/bin/ruby*1。これを/usr/bin/ruby1.8.7に移動する。
  3. rvmでuseしているrubyを/usr/bin/rubyに移動する。
  4. ライブラリも同様に移動。*2
  5. ついでに一般的に使われているrubyのパスのシンボリックリンクを通す

こんなかんじで行きます。

rvm info

今回は
~/.rvm/rubies/ruby-1.9.3-p362/rubyだよ、と出ました。コピー。

sudo mv /usr/bin/ruby /usr/bin/ruby1.8.7
sudo cp ~/.rvm/rubies/ruby-1.9.3-p362/bin/ruby /usr/bin/

sudo mv /usr/lib/ruby /usr/lib/ruby1.8.7
sudo cp ~/.rvm/rubies/ruby-1.9.3-p362/lib/ruby /usr/lib/

これでいいはず…うおおsudoは緊張するなあ。

ためしにruby -vしてみます。

ruby 1.9.3p362 (2012-12-25 revision 38607) [x86_64-darwin11.4.2]

うん、まあコピーだから壊れるとは思えないんですけどね。terminalのは大丈夫です

さきほどのST2の00.rbをbuildしてみます。

"1.9.3"
[Finished in 0.2s]

おおおおおおおできたああああああああ
コレが見たかったんだよ!うわあん。
もういまいましいので1.8は消してしまいましょう

sudo mv /usr/bin/ruby1.8.7
sudo mv /usr/lib/ruby1.8.7

これでうちのMacさんはこんな環境になりました。

  • ST2では1.9しか使えない
  • Terminalからは、rvm useすれば、1.8と1.9を好きにスイッチできるように

まあ、余計なことせず普通に1.9を入れればよかったかも。仕事で使っているわけでもないので、別に前のバージョンに戻さなくてよかったですね反省。

rvm入れた

正月暇になったのでひっさしぶりにプログラミングの勉強をしてました。
そんな中でrubyのバージョンそろそろ低いなーと思ったのでrvmを入れ、そこからrubyのインストールをしてもらいました。便利

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
source ~/.bash_profile

more enjoyable!! 的なことを言われたら成功です
続いてruby入れます

公式サイト行ったら、現時点で最新が1.9.3だったので1.9.3に。
最初になにやらてめーもう1.8入ってんじゃねーか的なことを言われますがqでスルー。別箇入れてくれます。ツンデレ
わりと待つのでお茶を入れてきます

rvm install 1.9.3

最後に 1.9.3をつかうようにrvmにお願いします

vm use ruby-1.9.3-p362


このあと、いろいろあって/usr/bin内もいじります

参考サイト
http://dsuket.hatenablog.com/entry/2012/03/06/191459

必須アプリ

  • alfred(ランチャ
  • Bartentder(menu barをすっきり
  • TinyExpander(解凍

描画待ち時間を短縮して使います

defaults write com.apple.Safari WebKitInitialTimedLayoutDelay 0.25
  • rvm

システム環境設定に入ってる奴

  • PCKeyboardHack(Libertouchを使うために
  • Shades(画面の明るさ)
  • Wacomタブレットドライバ
  • Perian (FLVファイルをQuickTimeで再生。Lionは無理?)
  • XtraFindor

フォント

  • Migu 1M
  • I-OTFアンチックStd

lftp入れた

転送関係を便利にしたいなーと思ってlftpの導入を試みてみました。

結果ダメだったのでメモ。

【やりたいこと】
サイトの更新をCMSを使わずに自動化したい
ftpsで転送したい

【やったこと】
MacPortsを入れる
(ついでにXcodeを入れる)
Potrsでlftpを入れる

ftpsで転送を試みたら使えない。
原因をぐぐってみたら、ロリポップでは
set ftp:ssl-allow off
しないと転送ができないのだとか。
ええーっそれじゃ意味ないじゃん/(^o^)\ そもそもftpで転送するなって言い出したのはろりぽの方なのに!

MacPortsから一連の流れ全く意味がなかった\(^o^)/

シェルスクリプトを起動するだけのAppできたー

set BashFile to (path to me)'s POSIX path & "/Contents/Resources/Scripts/test.sh"
set fileData to do shell script "sh " & BashFile

サイトの更新を自動化するに当たって、いろいろ触ってみた結果
ダブルクリックで起動できるという揺るぎないアドバンテージを持つ.app形式にすることにしました。
あとで自動化するかもしれないので本体は.shで用意して、AppleScriptでは極力シェルを動かすだけに徹底して貰います。

  1. Apple Scriptエディタを開く
  2. .app形式で保存
  3. もう一回AppleScriptエディタで開
  4. 右上にある「バンドルを表示」をクリック
  5. Scriptフォルダに.shファイルを入れる。
  6. 上記のコードをコピペ

Lion OS停止時に「ウインドウを再度開く」のチェックを外す


Mac OS X 10.7 Lion には、ウインドウの復元機能がありますが、あんまり作業途中にシャットダウンする習慣がないので使ってません。「でもジョブズが言うなら便利機能なんだろうし…」と思ってましたが、

シャットダウンするたびにカーソルを動かしてリンゴのマーククリック→システム終了…クリック→ダイアログが出てくるから、そこまでカーソルを動かしてチェックボックスをクリック……ああっちょっと外れた……よ、よしチェック外した。Retern押して終了! 

とかやってましたが、やっぱめんどくさいですわこれー。文章にしたらすごく面倒くさかったー。

自前で.appを作ってしまうという方法が紹介されていたので、作ってみました。XCodeなどの開発環境のインストールは不要です。

「シャットダウンするかー」→Option+SpaceでLunchBar起動→「shut」とか入力するとアプリが出てくる→Enterしたら椅子を立つとかできるので

かなり捗ります。夕飯が。

Apple Script Editorを起動する

画像貼りはしましたが、場所がわかんなかったらSpotlightに聞いてくださればよろしいかと思います。

以下のコードをコピー&ペースト

インデントとかは勝手にやってくれるので、何も考えないでコピペしちゃってください。他の言語からApple Scriptにうつりたてで、インデントちゃんとさせて書いてCmd+S押すと絶望感がすごいです。

tell application "loginwindow" to «event aevtrsdn» (delay 0.1)

tell application "System Events"
tell window 1 of process "loginwindow"
click checkbox 1 -- チェックボックスを外す
click button 2 -- ボタンを雄
end tell
end tell

アプリケーションフォルダ内に、.app形式で保存

名前は何でもいいですが、他にインストールしてるアプリと被らないアルファベットから始まる名前がいいんじゃないでしょうか。


参考
Lion OS停止時に「ウインドウを再度開く」のチェックを外す方法
再起動のを作るには、«event aevtrsdn»を«event aevtrrst»に変えればOK