3行まとめ
- luapromptとlsqlite3を入れようとしたが失敗した
- パッケージ管理難しい
- luarocksは古臭い
luarocksをインストール
シンプルなことがお気に入りのscoop
を使ってインストール。
> scoop install luarocks
ちなみにインストールオプションがいろいろあったらしい。
使ってみる
luaprompt
PUC luaのREPLは(luajitほどではないが)機能が少なくて使いにくいので、DL数の多いREPLのrocksを入れようとした。 が、readlineが入ってないのでエラーがでた(この時点でエラーが出てくれるのはうれしいが)。 まあ、仕方ないか。
lsqlite3
ちょっとブラウザのsqlite dbをいじってみたかったので、luarocksを試すために入れてみた。
sqlite3.h
が見つからない、でエラーになった(この時点でエラーがry))。
ちなみにsqlite3.exe自体はscoopでインストール済み。
sqliteのHPみたら、toolkitなるzipがあって、scoopのapp manifestによるとそれをDLしてるみたい。
あと、想定されるsqlite3.h
のパスはこんな感じ
Error: Could not find header file for SQLITE
No file sqlite3.h in c:/external/include
No file sqlite3.h in c:/mingw/include
No file sqlite3.h in c:/windows/system32/include
You may have to install SQLITE in your system and/or pass SQLITE_DIR or SQLITE_INCDIR to the luarocks command.
Example: luarocks install lsqlite3 SQLITE_DIR=/usr/local
これはmingwのgccで探索される場所なのかな?
scoopは~/scoop
の外に干渉する能力はない(と思ってる)ので、こういうのはめんどくさい。
manjaroでopencv触ろうとしたときは、pkgconfigを想定したところに入ってた(結局使えなかったけど)。
そもそもCをあんまり触らないのでwindowsにおけるbest practiceが分からない。
lua(rocks)は古臭い(こじんのいけn)
luarocksはluaのincludepathをいじるためにluarocks path
の機能があるが、ここから出るのがcmd.exe
のスクリプトだった。
この時点で使う気がかなり失せた。
公式のインストールページも流し読みした限りオプションが/
だったのでcmd.exe
みを感じた。
luarocks自体はアクティブなので、powershell対応してくれないかなー
というかそもそもlua自体が(ANSIオンリーとはいえ)Cに近いし、“not be provided with batteries"な言語なので1、(ちょっとでも拡張しようとすると)Windows的には互換性の壁が大きすぎる。 その点、pipが標準で使えたり、標準ライブラリの充実度がすごいpythonが普及したのは納得2。 cargoもCと比べてパッケージ管理やビルドツールが非常に楽。 JuliaもPkg.jlが便利なのは当然だが、BinaryBuilderを使って、環境に依存するCライブラリを自動で各環境のバイナリを作成しておいてそれを引っ張ってこれるという素晴らしい機能があって感動する (ただ、オンライン上でパッケージが検索できる公式のサービスが欲しい… JuliahubかJuliapackagesだろうけど、後者は更新が反映されてなさそうだし、どっちも名前や検索でのヒットが微妙。)。 あと、neovimがwindowsで一部動かなかった。
まあ、lua自体は面白いので、luaを使うときは凝ったことがしたいならmanjaro使うことにするか.
Comments
Reply to this post (mastodon) to leave a comment.
Reply