Sketchup Ver.5.0.297とVer.5.0.305の違い
以前、Mac版SketchupをRubyで操作しようとしてハマった際に記事を書いたが、今回SUのバージョンアップで内部仕様が微妙に変わっているようなので、注意点や変更点を見付け次第ここにまとめていきたい。
■コマンド出力内でのrubyコマンドの扱い
・5.0.297の場合
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`と指定すると、
/usr/local/bin/rubyではなく、/usr/bin/ruby(←Sketchupがインストール?)が実行されるが、socket周りも問題なく使える。
・5.0.305の場合
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'`と指定すると、
同様に/usr/local/bin/rubyではなく/usr/bin/rubyが実行されるが、上とは異なりsocket周りが使えない。
なので、
`ruby -r 'open-uri' -e 'puts open("#{uri}").read'` を
`/usr/local/bin/ruby -r 'open-uri' -e 'puts open("#{uri}").read'`
とrubyの場所をフルパスで指定してあげると、無事socket周りが使えるようになった。
2台のマシン(Powerbook G4とMacBook)で検証したのだが、ls -tで確認すると、両/usr/bin/ruby共にApril 18に更新されている。
うーむ、よくわからん。
バージョンが上がったときに/usr/bin/rubyも上書きしたのでは無いかと思われるが。
とりあえず/usr/local/bin/rubyとフルパスで指定してやれば、ローカルのrubyを叩けることはわかった。