Ruby
Windows

Windowsのコマンドラインからrbenvを使いたい

More than 3 years have passed since last update.


概要

cygwinやbashではなく、windows標準搭載のcmd.exe内でrbenvを使いたい。


結論

そういうrbenvを作りました。

https://github.com/nak1114/rbenv-win


rbenvって何?

Windowsではruby installerでrubyをインストールするのが一般的と思います。

しかし、ruby installerでインストールすると、そのバージョンのrubyしか使えないために様々な弊害が出ます。

例えば、nokogiriというruby用のライブラリはwindows環境だとruby-2.2.0より新しいバージョンには対応していません。(もちろん秘術を駆使すれば使えるようになるのは知っています。)

また、あるrailsアプリではruby 2.1.xを要求して、別のアプリではruby2.2.xを要求するといったことがあります。

もしくは、怪しげなライブラリを取りあえず試して駄目だったらライブラリ適応前に戻したい事もあるでしょう。

そういった状況に対応するために、様々なバージョンやライブラリ適応状態のrubyを素早く切り替えることが出来るのがrbenvです。


インストール


インストールに必要なもの

git


インストール手順

インストール用のバッチファイルも用意してあります。

https://gist.github.com/nak1114/7ea63204203883c5884d

このバッチを実行すると、自分のユーザープロフォイルの直下に自分専用のrbenvをインストールしてくれます。

例えば、私のユーザー名はnakなのでC:\User\nak\.rbenv-winがインストール先になります。

バッチファイル内では以下の事を行っています。

1. gitを用いてGitHub上のrbenv-winをインストール先にコピーします。

2. インストール先のrbenvコマンドや、その先でインストールされるrubyコマンドに対するPATHを通します。

インストールが終わったらcmd.exeを閉じて、もう一度cmd.exeを実行します。

これで、rbenvが使えるはずです。

エクスプローラーでC:\User\<ユーザー名>\.rbenv-winが出来ているか確認します。

また、スタートメニューから

[スタートボタン]->[設定]->[コントロールパネル]->[システム]->

[システムの詳細設定]->[環境変数]を押して回って、

[<ユーザー名>のユーザー環境変数]のPathC:\User\<ユーザー名>\.rbenv-win\shimsがあれば、

インストールに成功しています。


使用方法

何はともあれHelpの表示。

> rbenv help

次にコマンド一覧を表示

本家rbenvのうち、自分が良く使っているcommandを実装しています。

詳細なコマンドの使用方法は本家に譲ります。

> rbenv command

Rubyのインストールもrbenvで行います。

> rbenv install 2.2.4

> rbenv global 2.2.4
> rbenv rehash

Enjoy Your Ruby Life!


最後に

3連休ネタに作りました。久々のバッチファイルとVBScriptで良い頭の体操でした。

でもバッチファイルやVBScriptのテストってどうやるんだろう?と悩んだ結果、テスト無しで公開しています。

誰かバッチやVBScriptのテストの方法を教えてください。