50
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-03-20

概要

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のテストの方法を教えてください。

50
37
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?