😭
LazyVim導入でLua5.1のためにちょっと対応した
NeoVimに移行する機会を伺っていたらLazyVimが楽だと聞いてやってみたが、ちょっと対応が必要だったのでメモ
困りごと
- 公式のインストールに従って、
:LazyHealth
を実行するとLua関係のWaring, Errorが出る(詳細を残すのは忘れた) - とりあえずbrewでインストールする
- 再度
:LazyHealth
を実行するとLua5.1を使ってくださいとのWaring(詳細を残すのは忘れた) - brewでバージョン指定してダウンロードする方法を調べてやってみるがLua5.1はDeprecatedだった
- (Lua5.1を手元でビルドしてLuaRocksで指定して〜とか頑張ったがうまくいかないなどもあった)
解決方法
概要
Lua5.1もLuaRocksも手元でビルドする、LuaRocksをビルドする際には先に用意したLua5.1を指定する
詳細
- brewで入れちゃってたらアンインストールしておく
- ダウンロードする、curlでうまくできなかったのでブラウザでやった(敗北)
- Lua5.1をビルドする
tar -xvzf Lua\ 5.1.5.tar.gz
cd lua-5.1.5 # 厳密には違うかも
make macosx
sudo make install
# 確認
lua -v
- LuaRocksをビルドする
- 確認は
:LazyHealth
でやる
- 確認は
tar xvzf Luarocks\ 3.9.2.tar.gz
cd luarocks-3.9.2
# それぞれのpathはLua5.1をビルドしたときにでたやつにする
./configure --with-lua-include=/usr/local/include --with-lua-bin=/usr/local/bin/
make
sudo make install
Discussion
Neovim に組込まれている Lua runtime は高速化のために LuaJIT が利用されています。
上記のWarning, Error は LuaJIT が Lua5.1 互換であることに起因するものです。
macOS で homebrew を利用されてるのでしたら、
で利用できるはずです。
ありがとうございます!手元で試してみてから更新しようと思います.
ご説明していただいたことは理解しました.
ただLazyHealthの出力は下記の通りになったので本ページの内容としては変更なしにしようと思います.
やったことは下記の通りです.
brewでluajitを入れる
brewでluarocksを入れる
luajitのディレクトリにPATH, LUA_PATH, LUA_CPATHを通す
ご指摘ありがとうございました🙇