開発環境のバージョン管理

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー
今までMACにおいて、rubyは基本的にOSが提供している1.8系を使っていてあまり不便はなかったけど、ここにきて1.9系が必要になってMBAの方はhomebrewに全てを切り替えて、最新版をインストールした。ちなみに現在は

XXXX-Mac-mini:~ XXXX$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

ってな感じです。

MBAの方で何も考えずhomebrew経由でrubyをインストールしたら、思いの外、2.0まで上がってしまって若干焦ったが、特に不便はないのでそのまま使っている状態。

一方でメイン機(MAC mini MT LION)はさすがにこれではまずいと思い、goole先生に相談。素敵な記事にヒットしましたので実行してみます。

rbenvで複数バージョンのRubyを管理するmac os lion - Hacking My Way 〜 itogのhack日記

もう完全に書かれているままをコピペ。途中、Xcodeのバージョンが古いといわれる例のwaring

Warning: Your Xcode (4.4.1) is outdated
Please install Xcode 4.6.1.

がでたので、アップデート。アップデートしたような気もするのですが、たくさん同じOS機器を使っているとこんな事もある。

XXX-Mac-mini:~ XXX$ brew install rbenv
==> Downloading https://github.com/sstephenson/rbenv/archive/v0.4.0.tar.gz
######################################################################## 100.0%
==> Caveats
To use Homebrew's directories rather than ~/.rbenv add to your profile:
  export RBENV_ROOT=/usr/local/var/rbenv

To enable shims and autocompletion add to your profile:
  if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
==> Summary
🍺  /usr/local/Cellar/rbenv/0.4.0: 31 files, 152K, built in 3 seconds

てなこと。他のサイトにはif文は省略されているようだが、ここは素直にきちんと言われた通りを書いてみる事にする。

source ~/.bash_profile

で読ませてみても特にエラーなし。参照サイトではgccを入れ替えているようですが、エラーが出てから対応すりゃいいや、ってことで

XXXX-Mac-mini:~ XXXX$ rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  1.8.7-p334
  1.8.7-p352
  1.8.7-p357
  1.8.7-p358
  1.8.7-p370
  1.8.7-p371
  1.9.1-p378
  1.9.2-p180
  1.9.2-p290
  1.9.2-p318
  1.9.2-p320
  1.9.3-dev
  1.9.3-p0
  1.9.3-p125
  1.9.3-p194
  1.9.3-p286
  1.9.3-p327
  1.9.3-p362
  1.9.3-p374
  1.9.3-p385
  1.9.3-p392
  1.9.3-preview1
  1.9.3-rc1
  2.0.0-dev
  2.0.0-p0
  2.0.0-preview1
  2.0.0-preview2
  2.0.0-rc1
  2.0.0-rc2
  2.1.0-dev
  jruby-1.5.6
  jruby-1.6.3
  jruby-1.6.4
  jruby-1.6.5
  jruby-1.6.5.1
  jruby-1.6.6
  jruby-1.6.7
  jruby-1.6.7.2
  jruby-1.6.8
  jruby-1.7.0
  jruby-1.7.0-preview1
  jruby-1.7.0-preview2
  jruby-1.7.0-rc1
  jruby-1.7.0-rc2
  jruby-1.7.1
  jruby-1.7.2
  jruby-1.7.3
  jruby-1.7.4-dev
  maglev-1.0.0
  maglev-1.1.0-dev
  mruby-dev
  rbx-1.2.4
  rbx-2.0.0-dev
  rbx-2.0.0-rc1
  ree-1.8.6-2009.06
  ree-1.8.7-2009.09
  ree-1.8.7-2009.10
  ree-1.8.7-2010.01
  ree-1.8.7-2010.02
  ree-1.8.7-2011.03
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev

バージョン表示までは何とかなってるっぽいです。(もし'rbenv: no such command `install''がでるようでしたら"brew install ruby-build"を実行です。)

んじゃ、必要なバージョンをインストールしてみましょう。切り替えも試したいので、ここはとりあえず、1.9を突っ込んでみます。

XXXX-Mac-mini:~ XXXX$ rbenv install 1.9.3-p0

ERROR: This package must be compiled with GCC, but ruby-build couldn't
find a suitable `gcc` executable on your system. Please install GCC
and try again.

DETAILS: Apple no longer includes the official GCC compiler with Xcode
as of version 4.2. Instead, the `gcc` executable is a symlink to
`llvm-gcc`, a modified version of GCC which outputs LLVM bytecode.

For most programs the `llvm-gcc` compiler works fine. However,
versions of Ruby older than 1.9.3-p125 are incompatible with
`llvm-gcc`. To build older versions of Ruby you must have the official
GCC compiler installed on your system.

TO FIX THE PROBLEM: Install Homebrew's apple-gcc42 package with this
command: brew tap homebrew/dupes ; brew install apple-gcc42

You will need to install the official GCC compiler to build older
versions of Ruby even if you have installed Apple's Command Line Tools
for Xcode package. The Command Line Tools for Xcode package only
includes `llvm-gcc`.

BUILD FAILED

うわ! やっぱ怒られた。なんか、めんどくせー事いってるな。1.9.3-p125より古いものも、場合によっては使うだろうからオフィシャルGCCコンパイラが必要みたい。TO FIX THE PROBLEMを一つずつトライ。
このコマンド結構時間がかかりました。

XXXX-Mac-mini:~ XXX$ brew tap homebrew/dupes ; brew install apple-gcc42
Cloning into '/usr/local/Library/Taps/homebrew-dupes'...
remote: Counting objects: 874, done.
remote: Compressing objects: 100% (474/474), done.
remote: Total 874 (delta 487), reused 774 (delta 400)
Receiving objects: 100% (874/874), 150.15 KiB | 90 KiB/s, done.
Resolving deltas: 100% (487/487), done.
Tapped 41 formula
==> Downloading http://r.research.att.com/tools/gcc-42-5666.3-darwin11.pkg
######################################################################## 100.0%
==> Caveats
NOTE:
This formula provides components that were removed from XCode in the 4.2
release. There is no reason to install this formula if you are using a
version of XCode prior to 4.2.

This formula contains compilers built from Apple's GCC sources, build
5666.3, available from:

  http://opensource.apple.com/tarballs/gcc

All compilers have a `-4.2` suffix. A GFortran compiler is also included.
==> Summary
🍺  /usr/local/Cellar/apple-gcc42/4.2.1-5666.3: 104 files, 75M, built in 7.6 minutes

'There is no reason to install'とか、インストールする前に表示しないとアカン気がしますね。さ、後半のXcode comandline toolがどうのこうの、は一切無視してここでもう一度トライ! 結論からいうとうまくいきました。コンパイルするので結構な時間がかかりますけど。

XXXX-Mac-mini:~ XXXX$ rbenv install 1.9.3-p0
Downloading yaml-0.1.4.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/36c852831d02cf90508c29852361d01b
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/XXXX/.rbenv/versions/1.9.3-p0

Downloading ruby-1.9.3-p0.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/8e2fef56185cfbaf29d0c8329fc77c05
Installing ruby-1.9.3-p0...
Installed ruby-1.9.3-p0 to /Users/XXXX/.rbenv/versions/1.9.3-p0

Downloading rubygems-1.8.23.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/178b0ebae78dbb46963c51ad29bb6bd9
Installing rubygems-1.8.23...
Installed rubygems-1.8.23 to /Users/XXXX/.rbenv/versions/1.9.3-p0

"$ rbenv rehash"でshimsを更新してから、バージョンを確認。

XXXX-Mac-mini:~ XXXX$ rbenv versions
* system (set by /Users/XXXX/.rbenv/version)
  1.9.3-p0

いってそうです。globalコマンドでシステム全体のバージョンを切り替えてみましょう。

XXXX-Mac-mini:~ XXXX$ rbenv global 1.9.3-p0
XXXX-Mac-mini:~ XXXX$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin12.3.0]

ちゃんといってます。では、本題の2.0をインストール。

XXXX-Mac-mini:~ XXXX$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin12.3.0]
XXXX-Mac-mini:~ XXXX$ rbenv install 2.0.0-p0
Downloading openssl-1.0.1e.tar.gz...
-> https://www.openssl.org/source/openssl-1.0.1e.tar.gz
Installing openssl-1.0.1e...
Installed openssl-1.0.1e to /Users/XXXX/.rbenv/versions/2.0.0-p0

Downloading ruby-2.0.0-p0.tar.gz...
-> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz
Installing ruby-2.0.0-p0...
Installed ruby-2.0.0-p0 to /Users/XXXX/.rbenv/versions/2.0.0-p0

バージョン確認&設定更新。

XXXX-Mac-mini:~ XXXX$ rbenv versions
  system
* 1.9.3-p0 (set by /Users/XXXX/.rbenv/version)
  2.0.0-p0
XXXX-Mac-mini:~ XXXX$ rbenv rehash

システム全体のバージョンを切り替え。

XXXX-Mac-mini:~ XXXX$ rbenv global 2.0.0-p0
XXXX-Mac-mini:~ XXXX$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.3.0]

という結果でした。

なお、rbenvは特定フォルダのみでバージョンを有効にするlocalコマンドもあるようです。

$ rbenv local 1.8.7-p371

これは面白い仕様ですね。ただ、ミスを誘発しかねない気もしますけど。


しかし、結局環境設定にそれなりの時間がかかってしまう。なんかな〜。こういうの、今時っぽくないですね。

 亀山、結果報告。。。

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー
結論から書くと惨敗。。。
こちらで立てた作戦通りの展開を実行。

但し、気温と水温が想定外。

場所 気温 水温
亀山湖(レンタルボードよりもと) 8℃ 13.7℃(上流12.7℃!


[年々、荷下ろしの坂が使いやすくなりますね]

しかし、ひどい寒さでした。前日から寒波が関東地方にも襲っていて、ボード屋の店主曰く、前日まではそれなりに数も出ていたそうですが、二日目なのでさすがに流れ込みを中心に水温が一気に下がり、表層への意識は朝一を含め、殆どなかったと言えるでしょう。スポーンなど、どこへやら。。。よってペンシル(今回はそんなわけで妥協してX-PLOSEを早巻きで使用)は全滅でした。

一方、チャターベイトは反応がありました。ボート近くまでチェイスしてバイトアクションに入った瞬間、自分が焦ってへたをうち、フッキングまでは行かないのが少なくとに2発はありました。はやり、チャタベはこういった時でも朝一であれば有効なのですね。

その後、自分以外の周りはサイズはともかく、数はそこそこあげてました。小さめのワームをシェイクであげていたので、自分の攻め方とはちょっと違ってましたね。もっと早く気づいていれば!

こちらは白系ワームのワッキーでダメで、これは後半ネコ化。でもダメ。もう一つのデビルも、モコクロのノーシンカーも合わせて全く反応なし。スローはスローでも、中途半端ではなく徹底的なスロー&シェイクが正解だった気がします。
ただ、この釣りは自分は一番苦手なので、ま、今回はよしとします。

ロストルアーも一つもなかったので、エコは釣りを楽しみました。釣れればもっと良かったですが、釣れなくとも楽しいのが釣りなので!

MACでもtextwranglerでconfファイルを編集しよう!

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー

MACテキストエディターというと定番はtextwranglerだと思います。BBeditという上位有料エディターの無料版という位置づけでしょうか。

今回はapachehttpd.confといったターミナル場ではsudoを使わないと編集できないファイルをMACのfinderからtextwranglerを呼び出して編集するという小技をご紹介します。共有PC等でのセキュリティーまでは考慮してないので、その辺りは自己責任でお願いします。

使用するtextwranglerのバージョンは4.5.1になります。かつMac App Store Buildとなります。通常のダウンロード型の場合は何もしなくても編集できるはずです。


さて、まず通常、どのようなるかのおさらい。今回は例としてhttpd.confを編集します。普通にfinder等からhttpd.confを開くと

のような表示があります。要は編集権がないけど編集するの?と聞いてきている訳です。これは回避する方法もありますがそれはさておき、編集してみます。saveしようとすると

権限がないのでエラーが発生します。

これを回避するのはここを参考に以下を実行します。

  1. Authenticated Save Scriptをダウンロードする。
  2. 「/Users/USERNAME/Library/Application Support/TextWrangler/Attachment Scripts/」フォルダを作成(USERNAMEは各自のフォルダ名)。既に存在していれば作成は不要。
  3. 先ほどダウンロードした”document.documentShouldFinalizeAuthenticatedSave.scpt”を上記フォルダに設置

一応、Authenticated Save Scriptをここにも記載しておきます。

on documentShouldFinalizeAuthenticatedSave(theDocument, tempFilePath, destinationPath)
	
	-- on input: tempFilePath points to the contents of the document written to a temp file, ready to move to the destination; destinationPath is where the file should be copied.
	
	-- on exit: if the operation succeeded, delete the temp file (or else the application will assume the operation failed) and return YES for success
	
	--	this is pretty straightforward: "cp tmpFilePath destinationPath"
	
	do shell script "cp" & " " & quoted form of tempFilePath & " " & quoted form of destinationPath with administrator privileges
	
	--	now remove the temp file, this indicates to the application that we did the work
	
	do shell script "rm" & " " & quoted form of tempFilePath
	
	return true
end documentShouldFinalizeAuthenticatedSave

これでtextwranglerを一度終了してから使うと、sudoと同じようにパスワードは必要ですが、GUIでconfファイル等を編集可能になります。

 シーズンイン!春の亀山湖!

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー
さて、今週末は待ちに待ったバス釣りシーズンイン! 毎回、シーズン初めは色々トラブルもでやすいですが、今回はどうなることか。

[←見えバスだらけ??]

場所は例年どうり亀山湖です。ネットによる釣果情報ではソコソコ釣れていそう。スポーンは始まっているみたいですね。

戦略としては極めてシンプルに朝一とそれ以外で分けて責める予定です。

7時をすぎるまではあまり場所を特定せずに広く回ってみようかと。まずはトップをペンシルで流して、チャターベイトでフォロー、プラスでスピナベをスローに軽く深めと言った感じ。


[なぜかチャタベは釣れる気がする。好きなのかも!]


で、日が登ったらネコとデビル、モコリークローで笹川カバーうち。水を動かすくらいの強めシェイクでテンポ良く広めに行こうかと。

[人間が見ても、なんかそそるよな〜]


10時を回ったくらいから、それまでに気になったポイントをじっくり攻める感じで午前中で締める予定です。

さあ、結果はどうなるでしょうか?!

 BackContoryスキー、初体験

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー
バックカントリーという言葉をご存知でしょうか? 辞書を引くと「僻地、未開地」という訳になるようです。back country skiとは通常のゲレンデではなく管理外の山を滑る事を指すようです。よく

←こんな所を

←こんな感じで滑っている写真を雑誌とかで見たりすると思いますが、あれです。

こういったスキーはゲレンデでやっていたのではないのですね。自分もすっかり、外国とかこういう所はないと思っていましたが、日本でも全然やれました。

今回訪れた場所は「神楽が峰」という場所です。かぐらみつまたスキー場の一番上に、「もうこれ以上、上に上がる人は自己責任で勝手に行ってね!」というゲートがある先です。まさが、自分がその先に進むとは夢にも思いませんでした。

友人の誘いでとあるバックカントリースキーのツアーに参加したのがきっかけですが、もう本当に大変でした。普通は専用の踵がフリーになったスキー板に逆走しないようなシール(とりはずし可能)をペタっと張って歩いて上るのですが、こちらは通常の細い板をザック(レンタル)に固定して、スノーシュー(といっても靴ではなく、所謂「かんじき」のプラスチック+鉄版)を普通のスキーブーツに取り付けて、とても不安定な状態での登山。当然、一人(正確にはつき合ってくれた友人と二人)だけ集団から大きく離れ、グループの進捗を妨害。私も体力的に平均くらいはあると思ってますが、山頂に上がる頃には明らかに自分だけヘトヘトになってました。

とはいえ、ちょっと山の魅力を理解した気分です。季節的に雪がとても重く、板が全然回りませんでしたが(そもそもゲレンデ用の板だと、ああいう雪はとても滑りにくいですし。。。)、それでも雑誌に載るような人たちが、上の写真のように滑っている気分だけは想像できるようになりましたしw


チャンスがあればまた行きたいですね。参加2週間前くらいから、階段の上りとかでトレーニングしておかないと、ちゃんとしたツールやギアを揃えたとしても、全く快適に過ごせない事だけはわかりました!

姜尚中(カン サンジュン)「悩む力 」

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー
恥ずかしながら姜尚中さんの著書を始めて読みました。元々、ネットやTVでの発言を聞いて著者の大ファンでしたが、Amazonのレビュー評価は手厳しいものが目立ち、若干残念でした(著者が日本名を名乗り、単なる熊本出身の学者であったら評価はどうなっていたことか。。)。更に殆どがタイトルでの勘違いかなと(本書は単なるお悩み解決ハウツー本ではない)。

悩む力 (集英社新書 444C)

悩む力 (集英社新書 444C)

内容は現代社会のモヤモヤとした感じレベルではわかっていることを、理路整然と纏めて記載してくれているので読んでいて気持ちがよかったです。AMZでの批判レビュー者が指摘の通り、本当に斬新な社会論評を求めるならば話は別ですが、自分にはとても分かりやすく若者の態度(なぜ、彼らから知性が感じられないのか!)や老人に対する社会の価値付け論はとても納得するものばかりで、読んでよかった本の一つだと感じてます。

東野圭吾:プラチナデータ (幻冬舎文庫)

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー

プラチナデータ (幻冬舎文庫)

プラチナデータ (幻冬舎文庫)

Amazonのカスタマーレビュー、厳しいですねー。それだけ東野フリークが自分でハードルをあげてしまった結果でしょうか。確かに著者本人も述べているように映画化を始めから意識して書いた作品なので、無理矢理ページ数を伸ばしている感触は受けるのですが、そんなにめちゃくちゃ批判されるほどでもなく、それなりの展開もあるので他の作品と比較しなければ十分楽しめる作品でした。


「東野、読んだ事ないけど一度読んでみようかな〜」といった方にはお勧めです。ボリュームはそれなりにありますが、きっと一気に読み切れると思いますよ!理系小説の醍醐味を味わってください!!