mieki256's diary



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 も必要らしいので、それらもインストール。
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 上で試してみた。
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 がインストールされてる環境なので、
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
何か動作がおかしい時は、上記batファイルを実行すれば多少は結果が変わるかもしれない、とメモ。

ちなみに、lua53.exe 等を lua.exe としてコピーして、lua.exe を実行したら一応動いてくれた。

しかし、公式(?)版は、luaスクリプトをexe化できるツール、glue と srlua があるのかどうか…。

以上です。

過去ログ表示

Prev - 2018/06 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project