2017/11/22(水) [n年前の日記]
#1 [lua][windows] luarocksとluacheckをWindowsにインストール
luarocksなるものをインストールすると、lua関係の便利なアレコレが簡単にインストールできるようになるらしい。更に、luarocks を使って luacheck をインストールすることで、luaのソースファイルを静的チェックできるようで。試しにWindows10 x64上でインストールしてみようかなと。
以下を参考にして作業。
_にっき♪: luacheck
_LuaとLuaRocksのWindowsインストール
_Installation instructions for Windows - luarocks/luarocks Wiki
以下を参考にして作業。
_にっき♪: luacheck
_LuaとLuaRocksのWindowsインストール
_Installation instructions for Windows - luarocks/luarocks Wiki
◎ luarocksをインストール。 :
インストールには、Lua とリンクライブラリとやらが必要。以下の2つを
_Lua Binaries Download
からDLして解凍。インストール。
また、途中でコンパイルをするから、Visual Studio が必要になるっぽい。自分の環境は Visual Studio 2015 Community をインストールしてあるので、スタートメニューから、開発者コマンドプロンプトを実行して、その上で作業した。
_LuaRocks releases から、luarocks-2.4.3-win32.zip をDL、解凍。luaにPATHが通ってる状態で以下を打って luarocks をインストール。
気を利かせたつもりで、事前にLuaRocksインストール場所を作成しておくと、「指定されたフォルダが既にあるからインストールできねえ」と文句を言われる。事前に作成しないほうがヨサゲ。
luarocks.bat その他が作られた。環境変数 PATH に通しておく。
lua-5.3.4_Win32_bin.zip lua-5.3.4_Win32_dllw4_lib.zip
また、途中でコンパイルをするから、Visual Studio が必要になるっぽい。自分の環境は Visual Studio 2015 Community をインストールしてあるので、スタートメニューから、開発者コマンドプロンプトを実行して、その上で作業した。
_LuaRocks releases から、luarocks-2.4.3-win32.zip をDL、解凍。luaにPATHが通ってる状態で以下を打って luarocks をインストール。
install /LUA Luaインストール場所\ /P LuaRocksインストール場所今回は以下のフォルダを指定。
install /LUA D:\Dev\lua_x86\ /P D:\Dev\luarocks
気を利かせたつもりで、事前にLuaRocksインストール場所を作成しておくと、「指定されたフォルダが既にあるからインストールできねえ」と文句を言われる。事前に作成しないほうがヨサゲ。
luarocks.bat その他が作られた。環境変数 PATH に通しておく。
◎ luacheckをインストール。 :
luarocks install luacheck で、luacheck がインストールできるはずなのだけど…。
lfs.dll とやらが作れないぞ、と怒られてしまった。
_installing on windows fails with LNK1107 (lua 5.2) - Issue #82 - keplerproject/luafilesystem
Visual Studio 2015 (VC14) と一致する何かしらのファイル群が必要らしい…。
_LuaBinaries - Browse /5.3.4/Windows Libraries/Static から、lua-5.3.4_Win32_vc14_lib.zip をDLして解凍。Luaインストール場所にコピー。どうも lua53.lib というファイルが必要だったらしい。
luarocksインストール場所\config-5.3.lua の修正も必要。中の一部を以下に変更。
この状態で再度インストールを試す。
Luaインストール場所\systree\bin\luacheck.bat ができた。Luaインストール場所の直下にコピー。
D:\Dev\lua_x86>luarocks install luacheck Installing https://luarocks.org/luacheck-0.21.2-1.src.rock Missing dependencies for luacheck 0.21.2-1: luafilesystem >= 1.6.3 (not installed) luacheck 0.21.2-1 depends on luafilesystem >= 1.6.3 (not installed) Installing https://luarocks.org/luafilesystem-1.7.0-2.src.rock cl /nologo /MD /O2 -c -Fosrc/lfs.obj -ID:/Dev/lua_x86/include src/lfs.c lfs.c link -dll -def:lfs.def -out:lfs.dll D:/Dev/lua_x86/lua53.dll src/lfs.obj Microsoft (R) Incremental Linker Version 14.00.24215.1 Copyright (C) Microsoft Corporation. All rights reserved. D:\Dev\lua_x86\lua53.dll : fatal error LNK1107: ファイルが無効であるか、または壊れています: 0x330 を読み取れません。 Error: Failed installing dependency: https://luarocks.org/luafilesystem-1.7.0-2.src.rock - Build error: Failed compiling module lfs.dll
lfs.dll とやらが作れないぞ、と怒られてしまった。
_installing on windows fails with LNK1107 (lua 5.2) - Issue #82 - keplerproject/luafilesystem
Visual Studio 2015 (VC14) と一致する何かしらのファイル群が必要らしい…。
_LuaBinaries - Browse /5.3.4/Windows Libraries/Static から、lua-5.3.4_Win32_vc14_lib.zip をDLして解凍。Luaインストール場所にコピー。どうも lua53.lib というファイルが必要だったらしい。
luarocksインストール場所\config-5.3.lua の修正も必要。中の一部を以下に変更。
LUALIB = 'lua53.dll' ↓ LUALIB = 'lua53.lib'
この状態で再度インストールを試す。
luarocks install luafilesystem luarocks install luacheck
Luaインストール場所\systree\bin\luacheck.bat ができた。Luaインストール場所の直下にコピー。
◎ 動作確認。 :
luacheck hoge.lua でチェックができる。
が、love2d用のluaソースを渡すと、「loveって何だ? そんなの知らねえよ!」と山ほど怒られる。これでは…使えないな…。
が、love2d用のluaソースを渡すと、「loveって何だ? そんなの知らねえよ!」と山ほど怒られる。これでは…使えないな…。
この記事へのツッコミ
[ ツッコミを読む(2) | ツッコむ ]
#2 [lua][windows] Visual Studio Code にLua関係の拡張をインストールしてみたり
Windows10 x64 + Visual Studio Code 1.18.1 に、Lua関係の拡張をインストールしてみたり。
_vscode-lua - Visual Studio Marketplace
_LOVE - Visual Studio Marketplace
Alt + L で love2d を実行できる、らしい。
そこそこ補完が効いてくれる模様。
_vscode-lua - Visual Studio Marketplace
_LOVE - Visual Studio Marketplace
Alt + L で love2d を実行できる、らしい。
そこそこ補完が効いてくれる模様。
[ ツッコむ ]
#3 [lua][emacs] Emacs(NT Emacs)にLuaとlove2d関係のauto-completeをインストール
Lua関係の auto-completeパッケージを見かけたので試しにインストール。Lua用のソースを書く際に補完してくれるようになるっぽい。
環境は Windows10 x64 + NTEmacs 24.5.1。 _Lua-mode と auto-complete はインストール済み。
_rolpereira/auto-complete-lua.el: Auto-complete builtin Lua functions in Emacs
_rolpereira/auto-complete-love.el: Auto-complete LOVE functions in Emacs
それぞれzipファイルをDLして解凍。
以下のファイルやフォルダを、Emacsからパスが通ったところにコピー。
~/.emacs に以下を記述。
auto-complete-lua と auto-complete-love の両方を入れる場合、auto-complete-love側の設定だけをしておけばいいらしい。最初、両方の設定を書いてしまったら補完がちゃんと動かなかった。
参考までに、~/.emacs のLua関係の設定部分をメモ。
ちなみに、love2d-minor-mode は以下で入手できる。
_ejmr/love-minor-mode: An Emacs minor mode for LOVE
環境は Windows10 x64 + NTEmacs 24.5.1。 _Lua-mode と auto-complete はインストール済み。
_rolpereira/auto-complete-lua.el: Auto-complete builtin Lua functions in Emacs
_rolpereira/auto-complete-love.el: Auto-complete LOVE functions in Emacs
それぞれzipファイルをDLして解凍。
以下のファイルやフォルダを、Emacsからパスが通ったところにコピー。
auto-complete-lua.el auto-complete-lua-tests.el lua-documentation auto-complete-love.el auto-complete-love-tests.el
~/.emacs に以下を記述。
(require 'auto-complete-lua) ;; (add-hook 'lua-mode-hook '(lambda () ;; (setq ac-sources '(ac-source-lua)) ;; (auto-complete-mode 1))) (require 'auto-complete-love) (add-hook 'lua-mode-hook '(lambda () (setq ac-sources '(ac-source-love)) ; Uncomment only if you're using `auto-complete-lua' (see below) (push ac-source-lua ac-sources) (auto-complete-mode 1)))
auto-complete-lua と auto-complete-love の両方を入れる場合、auto-complete-love側の設定だけをしておけばいいらしい。最初、両方の設定を書いてしまったら補完がちゃんと動かなかった。
参考までに、~/.emacs のLua関係の設定部分をメモ。
;; ---------------------------------------- ;; lua-mode ;; This snippet enables lua-mode ;; This line is not necessary, if lua-mode.el is already on your load-path ;; (add-to-list 'load-path "/path/to/directory/where/lua-mode-el/resides") (autoload 'lua-mode "lua-mode" "Lua editing mode." t) (add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode)) (add-to-list 'interpreter-mode-alist '("lua" . lua-mode)) (setq lua-indent-level 2) (add-hook 'lua-mode-hook '(lambda () (abbrev-mode 1) (electric-pair-mode t) (electric-indent-mode t) (electric-layout-mode t) ;; ||も括弧の補完の対象にする ;; (add-to-list 'electric-pair-pairs '(?| . ?|)) )) ;; love2d love-minor-mode (require 'love-minor-mode) (require 'auto-complete-lua) ;; (add-hook 'lua-mode-hook '(lambda () ;; (setq ac-sources '(ac-source-lua)) ;; (auto-complete-mode 1))) (require 'auto-complete-love) (add-hook 'lua-mode-hook '(lambda () (setq ac-sources (append ac-sources '(ac-source-love ac-source-lua))) (auto-complete-mode 1)))ac-sources に、ac-source-love と ac-source-lua を追加する形にしてみた。
ちなみに、love2d-minor-mode は以下で入手できる。
_ejmr/love-minor-mode: An Emacs minor mode for LOVE
[ ツッコむ ]
以上、1 日分です。
本記事を参考にLuaの導入をしようとしています.(Win10 62bit版 VS2017)です)
installコマンドをコマンドプロンプト上で実行できません.
PATHを通せばいいのかな,と考え調べてみたのですがwingetのサブコマンドとしてのinstallしか出てきません.
もしよろしければ>install /LUA path /P PATHの部分をどのように実行されているかお教えいただけませんでしょうか?
luarocks-2.4.3-win32.zip を解凍すると、中に install.bat が入っていて、当時はソレを呼び出してインストール処理をしていたようです。
luarocks-x.x.x-windows-32.zip ではなくて、
luarocks-x.x.x-win32.zip を入手する必要があります。
> install /LUA path /P PATHの部分をどのように実行されているか
記事中にもメモしてありますが以下の指定で実行していたようです。
install /LUA D:\Dev\lua_x86\ /P D:\Dev\luarocks
D:\Dev\lua_x86\ に lua.exe その他が既に入っていて、
D:\Dev\luarocks\ に luarocks をインストールしようとしています。
ただ、私自身は、後々 hererocks というツールを使って
Lua と Luarocks をビルドして使う形に移行したようです…。
2021/06/19頃の日記に、その旨メモしてありました…。