pikを使用するとgemへのパスがクリアされてしまう

pikをインストールしてみたでgit bashでもpikを使用する方法を書いたのですが、git bashからgemを利用することができませんでした。

gem env

を実行すると、GEM PATHSに何も値が入っていないようでした。

調べてみると、
$HOME/.pik/pikrcのfunction pik内に以下の記述を追加するとよいとのこと。

  unset GEM_HOME
  unset GEM_PATH

無事にできました。

thinをインストールしようとするとエラーになる

毎度メモですみません

gemよりthinをインストールしようとすると、

ERROR: Error installing eventmachine:
ERROR: Failed to build gem native extension.

    C:/Ruby193/bin/ruby.exe extconf.rb

というエラーがでてインストールできませんでした。

調べたところ、eventmachineをgemからインストールするとよいようだったので、実行

gem install eventmachine

できない…
さらに調べると--preオプションが必要なもよう

gem install eventmachine --pre

できた!

その後

gem install thin

も無事に実行できました

pikをインストールしてみた

Herokuを使用するにあたり、rubyのバージョンを1.9.2にしたかったので、pikを導入することにしました。

以下メモ書きです

gem install pik

pikをインストールするディレクトリを作成しインストール

mkdir "C:\Program Files\pik"
pik_install "C:\Program Files\pik"

ここで権限がないとのメッセージがでたので、コマンドプロンプトを管理者として起動し、再度実行

The directory you installed to is not in the sytem path.
C:\Program Files\pik

You will need to add it.


if you want to use pik with git bash, add the following line to your ~/.bashrc

  [[ -s $USERPROFILE/.pik/.pikrc ]] && source $USERPROFILE/.pik/.pikrc

というメッセージがでたので、環境変数にC:\Program Files\pikを追加。

また、git bashを使用したかったので、$HOMEに.bashrcを作成し[[ -s~の部分を追記。

git bashを起動すると

sh.exe": Files/pik: No such file or directory

と表示され、pik listを実行すると以下のような表示に

pik list
sh.exe": /pik_runner.exe: No such file or directory

パスがうまく読み込めていない???
調査をすると、Program Filesの間のスペースがダメっぽい。

$HOME/.pik/pikrcの
pik_path=/c/Program Files/pik

pik_path='/c/Program Files/pik'
に修正し、

$pik_path/pik_runner.exe pik.sh $@
を"$pik_path/pik_runner.exe" pik.sh $@
と修正しgit bashを起動。

成功

pik install ruby

で最新の1.9.3をインストール

すでに1.9.2をインストールしてあったので管理下へ

pik add "C:\ruby192\bin"
$ pik list
  192: ruby 1.9.2p136 (2010-12-25) [i386-mingw32
* 193: ruby 1.9.3p0 (2011-10-30) [i386-mingw32]

切替確認

pik sw 192

ruby -v
ruby 1.9.2p136 (2010-12-25) [i386-mingw32]

うん、よさそう

ブログスタート

はじめまして

2006年4月にプログラマの仕事をはじめ、後半2年ほどはSEもしていました。

ブログをはじめた理由としては

  • これまでたくさんのブロガーさんにお世話になったので、今後は情報をアウトプットするという形でお返ししたい
  • 最近かなり忘れっぽいので、備忘録にしたい
  • 書くことで情報を整理したい

と、ありきたりな理由ですが、技術者としては大事なことだと思いますので、続けていけたらと思います。