grasys blog

ターミナルがダサいとモテない。luaver が一番新しい? lua version manager で悩むの巻

あなたは lua version manager は何を使っていますか?

Photo by Brzeno Freitas on Unsplash

恵比寿で IT 企業をやっているとモテると聞いて創業しましたが早いことありがたいことに 10 年目に突入した長谷川です。

まだモテる成果は出ていません、、、これからです!(もうめんどくさいのでカウントやめましたw)

NeoVim を使っていると luarocks の要件が出てきて、homebrew で管理してるとどうなってるのかわかりにくくなるので自分の UserSpace で隔離したいなんて思ったりしますが!(思わないか・・・)

anyenv だと luaenv が入りますが、luaenv-luarocks がちょっと古いからなのかなんだか version が古いので luaver に移行しました。

GitHub Star も 265 Star(2024/10/04時点)あるので luaenv より多いのと更新も新しいのでこれにしました。

GitHub – DhavalKapil/luaver: Lua Version Manager – Managing and switching between different…

Insatll luaver

curl で Install できる方法が提供されています。

curl -fsSL https://raw.githubusercontent.com/dhavalkapil/luaver/master/install.sh | sh -s - -r v1.1.0

これで Install すると使ってる Shell によって設定が更新されるので読み込み直すなり、Terminal を立ち上げ直すなりすれば完了です。
次の Install using git は読み飛ばして下さい。

Install lua

lua の version を指定して Install できます。

まずは luaver と叩いてみましょう。

Lua Version Manager 1.1.0

Developed by Dhaval Kapil <me@dhavalkapil.com>

Usage:

luaver help Displays this message
luaver install <version> Installs lua-<version>
luaver use <version> Switches to lua-<version>
luaver set-default <version> Sets <version> as default for lua
luaver unset-default Unsets the default lua version
luaver uninstall <version> Uninstalls lua-<version>
luaver list [-r] Lists installed lua versions
luaver install-luajit <version> Installs luajit-<version>
luaver use-luajit <version> Switches to luajit-<version>
luaver set-default-luajit <version> Sets <version> as default for luajit
luaver unset-default-luajit Unsets the default luajit version
luaver uninstall-luajit <version> Uninstalls luajit-<version>
luaver list-luajit [-r] Lists installed luajit versions
luaver install-luarocks <version> Installs luarocks<version>
luaver use-luarocks <version> Switches to luarocks-<version>
luaver set-default-luarocks <version> Sets <version> as default for luarocks
luaver unset-default-luarocks Unsets the default luarocks version
luaver uninstall-luarocks <version> Uninstalls luarocks-<version>
luaver list-luarocks [-r] Lists all installed luarocks versions
luaver current Lists present versions being used
luaver version Displays luaver version

Examples:

luaver install 5.3.1 # Installs lua version 5.3.1
luaver install 5.3.0 # Installs lua version 5.3.0
luaver use 5.3.1 # Switches to lua version 5.3.1
luaver install-luarocks 2.3.0 # Installs luarocks version 2.3.0
luaver uninstall 5.3.0 # Uninstalls lua version 5.3.0

luaenv だと luaenv install -l で Install できる lua version を一覧できますが、luaver では luaver list -r みたいですね

luaver list -r
と叩いてみましょう。

luaver list -r
5.0
5.0.1
5.0.2
5.0.3
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.2.0
5.2.1
5.2.2
5.2.3
5.2.4
5.3.0
5.3.1
5.3.2
5.3.3
5.3.4
5.3.5
5.3.6
5.4.0
5.4.1
5.4.2
5.4.3
5.4.4
5.4.5
5.4.6
5.4.7

最新は 2024/10/04 時点だと 5.4.7 みたいですね

じゃあ早速 lua 5.4.7 を Install してみましょう。

declare -x LUAVER_LUA_VERSION=5.4.7
luaver install ${LUAVER_LUA_VERSION}

ここでは指定バージョンを使うか聞かれ設定されますが、Terminal を再開すると設定されてない状態になるので、use して set-default した方が良いですね。

luaver use ${LUAVER_LUA_VERSION}
luaver set-default ${LUAVER_LUA_VERSION}

luaver list してみましょう。
Install されている lua version と use がセットされているかがわかります。

luaver list
==> Installed versions: (currently 5.4.7)
5.4.7

luaver install-luarocks

lua が入ったので次は luarocks です。

まず luarocks の Install 可能な Version 一覧を確認してみましょう。

luaver list-luarocks -r
0.3.1
0.3.2
0.4.1
0.4.2
0.4.3
0.5.1
0.5.2
1.0.1
2.0.1
2.0.2
2.0.3
2.0.4
2.0.5
2.0.6
2.0.7
2.0.8
2.0.9
2.1.0
2.1.1
2.1.2
2.2.0
2.2.1
2.2.2
2.3.0
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
3.0.0
3.0.2
3.0.3
3.0.4
3.1.0
3.1.1
3.1.2
3.1.3
3.2.0
3.2.1
3.3.0
3.3.1
3.4.0
3.5.0
3.6.0
3.7.0
3.8.0
3.9.0
3.9.1
3.9.2

2024/10/04 時点では 3.9.2 が最新みたいです。

それでは入れてみます。

declare -x LUAVER_LUAROCKS_VERSION=3.9.2
luaver install-luarocks ${LUAVER_LUAROCKS_VERSION}

ここでも使うか聞かれますが、Terminal のセッションが新しくなっても使うには set-default-luarocks する必要があるみたいなので use と set-default-luarocks します。

luaver use ${LUAVER_LUAROCKS_VERSION}
luaver set-default-luarocks ${LUAVER_LUAROCKS_VERSION}

luaver list-luarocks してみましょう。
luarocks の Install されている Version と use がセットされているかがわかります。

luaver list-luarocks
==> Installed versions: (currently 3.9.2 in lua 5.4)
3.9.2 lua:5.4

luaver current

luaver current を叩くと
lua と luarocks の use version が見れます。

luaver current
==> Current versions:
==> lua-5.4.7
==> luarocks-3.9.2

先ほどの luaver install と luaver install-luarocks のあとに
luaver [use|set-default] [lua version]

luaver [use-luarocks|set-default-luarocks] [luarocks version]
を叩いていれば、
Terminal のセッションが切り替わったりしていても、恒久的に luaver current で利用したい lua の version と luarocks の version が固定できます。

これで安定した NeoVim Life(ただし NeoVimWezTerm は Lua の Version が違うという・・・)が送れます!w

最後に

ターミナル環境について他の記事も書いているので、よろしければこちらもご覧ください!
『ターミナルがダサいとモテない』シリーズ一覧

転載:ターミナルがダサいとモテない。luaver が一番新しい? lua version manager で悩むの巻


採用情報
お問い合わせ