2018/06/08(金) [n年前の日記]
#1 [lua] ldocをインストールしようとしたけど動いてくれない
luaでドキュメントを作成するツールは無いのかなとググってみたら ldoc なるツールがあるようで。Windows10 x64 + lua 5.3.4 の環境でインストールできないか試したり。
lua のアレコレをインストールする際は、luarocks というツールが便利らしくて、ldoc もソレを使ってインストールするらしい。なので、まずは luarocks をインストールしないといけないのだけど…。以前インストールした際の手順に従って、luarocks-2.4.4-win32.zip をインストール。
_mieki256's diary - luarocksとluacheckをWindowsにインストール
その後、ldoc をインストールしていくのだけど…。動作には、luafilesystem、penlight、markdown も必要らしいので、それらもインストール。
それはさておき。動かない。〜\systree\bin\ に ldoc.bat というファイルができているので実行してみるも…。
luarocks でインストールされたモジュールの一覧を確認。
lua のアレコレをインストールする際は、luarocks というツールが便利らしくて、ldoc もソレを使ってインストールするらしい。なので、まずは luarocks をインストールしないといけないのだけど…。以前インストールした際の手順に従って、luarocks-2.4.4-win32.zip をインストール。
_mieki256's diary - luarocksとluacheckをWindowsにインストール
その後、ldoc をインストールしていくのだけど…。動作には、luafilesystem、penlight、markdown も必要らしいので、それらもインストール。
luarocks install luafilesystem luarocks install penlight luarocks install markdown luarocks install ldoc後で気づいたけど、ldoc だけをいきなりインストールしても、必要なモジュールを自動でインストールしてくれる模様。
それはさておき。動かない。〜\systree\bin\ に ldoc.bat というファイルができているので実行してみるも…。
> ldoc D:\Dev\lua_x86\lua.exe: D:\Dev\lua_x86\systree/share/lua/5.3/pl\path.lua:28: pl.path requires LuaFileSystem stack traceback: [C]: in function 'error' D:\Dev\lua_x86\systree/share/lua/5.3/pl\path.lua:28: in main chunk [C]: in function 'require' D:\Dev\lua_x86\systree/share/lua/5.3/pl\app.lua:9: in main chunk [C]: in function 'require' ...lua_x86\systree\lib\luarocks\rocks\ldoc\1.4.6-2\bin\ldoc:20: in main chunk [C]: in ?LuaFileSytem が必要と言われてるのだろうか。インストールしたはずなのだけど…。
luarocks でインストールされたモジュールの一覧を確認。
> luarocks list Installed rocks: ---------------- ldoc 1.4.6-2 (installed) - D:/Dev/lua_x86/systree/lib/luarocks/rocks luacheck 0.22.0-1 (installed) - D:/Dev/lua_x86/systree/lib/luarocks/rocks luafilesystem 1.7.0-2 (installed) - D:/Dev/lua_x86/systree/lib/luarocks/rocks markdown 0.33-1 (installed) - D:/Dev/lua_x86/systree/lib/luarocks/rocks penlight 1.5.4-1 (installed) - D:/Dev/lua_x86/systree/lib/luarocks/rocksインストールされてるように見えるのだけどなあ…。なんでや…。
◎ 関連ページをメモ。 :
◎ Ubuntu 18.04上で試してみた。 :
VMware + Ubuntu 18.04 上で試してみた。
すんなりインストールできた上に、あっさり動いてしまった…。すると、Windows版は何がマズいのだろう…。
sudo apt update sudo apt install lua5.1 lua5.2 lua5.3
$ lua -v Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio
sudo apt install luarocks
sudo luarocks install ldoc
$ ldoc ldoc: missing required parameter: file ldoc, a documentation generator for Lua, vs 1.4.6 -d,--dir (default doc) output directory -o,--output (default 'index') output name -v,--verbose verbose -a,--all show local functions, etc, in docs -q,--quiet suppress output -m,--module module docs as text ...
すんなりインストールできた上に、あっさり動いてしまった…。すると、Windows版は何がマズいのだろう…。
◎ 再挑戦。 :
Windows10上で再挑戦。以下の記事を参考に、最初からインストール作業をしてみた。
_LuaとLuaRocksのWindowsインストール
_Lua Binaries Download から、lua-5.3.4_Win32_bin.zip と lua-5.3.4_Win32_dllw4_lib.zip をDL。任意のフォルダに解凍。
_LuaRocks releases から、luarocks-2.4.4-win32.zip をDL。解凍。
Visual Studio 2015 Community がインストールされてる環境なので、
この状態で luarocks をインストールして、luarocks install ldoc をしてみたら、実行できる ldoc が出来上がった。また、この手順だと、luafilesystem をビルドする際に妙な警告も出てこなかった。
どうやら自分、以前は以下を参考に、Lua - Joe DF's Builds 版をインストールしていたのではないかという気がする…。が、そのへんよく覚えてない…。
_Lua の Windows へのインストールと使い方 | プログラマーズ雑記帳
_Lua - Joe DF's Builds
あるいは、LUA_PATH と LUA_CPATH を指定してから動かすと、ちゃんと動くのかもしれない?
とりあえず、パスの通った場所に以下を作成して、LUA_PATH と LUA_CPATH を設定するようにしてみた。
ちなみに、lua53.exe 等を lua.exe としてコピーして、lua.exe を実行したら一応動いてくれた。
しかし、公式(?)版は、luaスクリプトをexe化できるツール、glue と srlua があるのかどうか…。
_LuaとLuaRocksのWindowsインストール
_Lua Binaries Download から、lua-5.3.4_Win32_bin.zip と lua-5.3.4_Win32_dllw4_lib.zip をDL。任意のフォルダに解凍。
_LuaRocks releases から、luarocks-2.4.4-win32.zip をDL。解凍。
Visual Studio 2015 Community がインストールされてる環境なので、
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.batを実行すれば、コンパイルができる状態になる…のかな。
この状態で luarocks をインストールして、luarocks install ldoc をしてみたら、実行できる ldoc が出来上がった。また、この手順だと、luafilesystem をビルドする際に妙な警告も出てこなかった。
どうやら自分、以前は以下を参考に、Lua - Joe DF's Builds 版をインストールしていたのではないかという気がする…。が、そのへんよく覚えてない…。
_Lua の Windows へのインストールと使い方 | プログラマーズ雑記帳
_Lua - Joe DF's Builds
あるいは、LUA_PATH と LUA_CPATH を指定してから動かすと、ちゃんと動くのかもしれない?
とりあえず、パスの通った場所に以下を作成して、LUA_PATH と LUA_CPATH を設定するようにしてみた。
- startlua.bat
- startluarocks.bat
ちなみに、lua53.exe 等を lua.exe としてコピーして、lua.exe を実行したら一応動いてくれた。
しかし、公式(?)版は、luaスクリプトをexe化できるツール、glue と srlua があるのかどうか…。
[ ツッコむ ]
以上です。