Help us understand the problem. What is going on with this article?

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

nak1114
Webの浅瀬で遊んでいます
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした