2013/06/29

plenv installから--asが消えたのでperl-buildを直接使う

追記 2013/06/29 09:09

@tokuhiromさんにコメントでご指摘頂きましたところ、8日前にperl-build側で実装されたそうです。
githubにあるperl-buildのHEADを利用すると使えるようになります。


plenvの中身がperlからbashに変更された際に消えたようです。
バージョンはplenv 2.0.1-7-ge389af0

違うバージョンのperlを一つずつinstallする分には困りませんが、同じバージョンでコンパイルオプションを変更したものをinstallしようとすると「もうそのバージョンあるから!」とinstallを拒否されます。

ざっくりと見たところplenvは~/.plenv/versions以下にbuildしたperlを保存してます。

    > ls -1 ~/.plenv/versions/
    5.16.2
    5.16.3
    5.18.0

場所が分かれば後は、perl-buildで直接installしてやると大体うまく行きそうです。

    > perl-build 5.18.0 ~/.plenv/versions/5.18-ithreads -Duseithreads

無事installが終わるとこんな感じになるので、後はplenv global 5.18-ithreads等の通常の方法で切り替えることが出来ます。

    > plenv versions
      system
      5.16.2
      5.16.3
      5.18-ithreads
    * 5.18.0 (set by PLENV_VERSION environment variable)

公式に説明があるわけではないので自己責任で行ってください。

2013/06/17

Travis CIでbuild失敗時にエラーメッセージを確認する方法

ビルドに失敗した時に~/.cpanm/build.logを見たいことがあるので、以下の二つを最初から設定しておくと便利

  • install
  • after_failure

.travis.yml全体だとこんな感じ

    language: perl
    perl:
      - 5.10
      - 5.12
      - 5.14
      - 5.16
    install:
      - "cpanm --installdeps --notest . || cat ~/.cpanm/build.log"
    after_failure: 
      - "cat ~/.cpanm/build.log"

before_script, script等の各コマンドを上書きして全部に|| cat /path/to/logみたいなのを付けてる人もいた

2013/06/12

Windows環境でVagrant/Chef Solo環境を構築するメモ(2013-06-14更新)

Windows XP上で構築
  • Vagrantはgemから入れるとちょっと古いので公式にあるインストーラを利用する
  • Rubyの環境はMingw + Msys + RubyInstaller for Windows
  • gitが使えないと不便なのでmsysgitも入れる

手順

  1. VirtualBoxをインストール
  2. Vagrantをインストール
  3. ディレクトリ C:\Mingw\msys\1.0 を作成
    • 多分途中にスペースをを含まないほうがいい
  4. 3で作成したディレクトリにmsysgitを展開
  5. Mingw/Msysのインストール
    1. mingw-get-instの最新版をDL
    2. C:\Mingwに展開
  6. Rubyのインストール
    1. RubyInstaller for Windowsから7z版のruby-2.0.0-p195をダウンロード
    2. 7zを適当な場所に展開する(一時的な展開先なのでどこでもよい)
    3. 展開してできた ruby-2.0.0-p195-i386-mingw32 の中身を全部 C:\Mingw\msys\1.0\local に移動
  7. cmd.exeの代わりに使うckw-modをインストールする

    1. ckw-modを適当な場所に展開(一時的なものではないのでMy Documents\Applications\ckwとかに入れること)
    2. ckw.cfgのCkw*execを以下のように編集

      Ckw*exec: "C:\Mingw\msys\1.0\bin\sh.exe" --login -i

  8. ckw.exeを起動してMsysのshellに入る

  9. ~/.inputrcを編集してshell上で日本語が使えるようにする。設定項目は以下のような感じ

    # disable/enable 8bit input
    set meta-flag on
    set input-meta on
    set output-meta on
    set convert-meta off
    set kanji-code utf8
    
  10. ~/.bash_profileを修正してrubyをPATHに追加する

    export PATH="$PATH:/c/Mingw/msys/1.0/local/bin"
    
  11. vagrantが使用するVBoxManage.exeへのPATHが通っているか確認する。通っていない場合はPATHに追加しておくこと

    $ which VBoxManage
    /c/Program Files/Oracle/VirtualBox/VBoxManage.exe
    
  12. Rubyのnative拡張が必要な諸々を再インストール

    $ gem uninstall ffi win32-api yajl-ruby
    $ gem install ffi win32-api yajl-ruby --platform=ruby
    
  13. Chef関連をインストール

    $ gem install chef knife-solo --platform=ruby
    

これでknife configureを実行してみてエラーが出なければ多分OK