普段 Lua のモジュールを書いては GitHub で管理してるんだけど、誰かに使って欲しいなんて気持ちがまるでないし、基本的に LuaJIT で使うのでサポートするバージョンは 5.1.5 でいいやなんてお思ってるので MoonRocks には公開してなかったりする。
でも時々「ねぇねぇ!5.2 系で動かないんですけどー!(意訳)」なんてバグ報告くるとサポートしてないって一蹴するのもなんかなんかだし、面倒だなぁなんて思いながらも Lua や LuaRocks のインストールをして環境整えて再現するかチェックしてたんだけど、いい加減ウルトラめんどくさいよ!
自分に甘くやりたいことだけやってきたNullいエンジニアなので(そもそもエンジニアなのかも謎なんだけど)シェルとか書きたくなかったけど、どうせ書かなきゃいけない時がくるだろうしってことで Lua のバージョンマネージャーを書いてみました。
lenv - https://github.com/mah0x211/lenv
インストール
以下、使い方つらつらと書き連ねますが「ねぇねぇ!うちの環境で動かないんですけどー!」なんて事になったら、詳細を教えて頂けたら(出来る範囲で)直したいと思います。
$ curl -L http://git.io/lenv | sh >> ~/.bashrc
$ source ~/.bashrc
マニュアルは help
コマンドで見れます。
$ lenv help
lenv 0.1.0
Usage:
lenv help Show this message
lenv path Show the configured paths
lenv update Update lenv
lenv fetch Fetch remote versions
lenv vers List available versions
lenv ls List installed versions
lenv install <version> <opt...> Download and install a <version> of lua
with luarocks
lenv install-lj <version> <opt...> Download and install a <version> of
luajit with luarocks
lenv uninstall <version> Uninstall a <version> of lua
lenv uninstall-lj <version> Uninstall a <version> of luajit
lenv use <version> Use a <version> of lua
lenv use-lj <version> Use a <version> of luajit
Lua のインストール
fetch
コマンドで Lua と LuaJIT と LuaRocks のバージョンとソースファイルのURLをクローリングしてきます。最初にこれをしないとそもそもLuaのインストールが出来ません。
それが終わったらバージョン番号を指定してインストールします。ついでに最新の LuaRocks もインストールされます。
$ lenv fetch
...snip...
$ lenv install 5.1.5 macosx
インストールしたバージョンを使うには use
コマンドを使います。
$ lenv use 5.1.5
$ lua -v
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
こうするとホームディレクトリの .lenv
ディレクトリに current
というシンボリックリンクが出来るので、その中の luarocks
ディレクトリに LuaRocks の設定ファイルが入ってるので、リポジトリの追加をしたい時はファイルをお好きなエディタで編集してください。
それにしても東京にきて今月終わったら2ヶ月経つのだけれど、ネットワーク環境が貧弱すぎてほとんどコードが書けてないし、その上、友達もいないしでマンションの一室のベッドの上で死んだように寝るのがマイブームになりつつあります。(強がり
恵比寿ってトコでぼーっとしてるので、どなたか食事にでも誘ってください!もちろんワリカンで!w て、こんなコト書いたら消されそうですね。
以上です。