19
14

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.

lenv - Luaバージョンマネージャー

Posted at

普段 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 て、こんなコト書いたら消されそうですね。
以上です。

19
14
0

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
19
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?