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

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

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

ターミナルがダサいとモテない。luaver が一番新しい? 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 できる方法が提供されています。

Plain text
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 と叩いてみましょう。

Plain text
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
と叩いてみましょう。

Plain text
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 してみましょう。

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

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

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

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

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

luaver install-luarocks

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

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

Plain text
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 が最新みたいです。

それでは入れてみます。

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

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

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

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

Plain text
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 が見れます。

Plain text
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 で悩むの巻