luasql.mysql
설치하려고 하는데 luarocks
문제가 발생했습니다. 제공된 패키지를 설치했는데도 mysql.h
luarocks에서 찾을 수 없습니다. 나는 마침내 그것을 해결했습니다 :
luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql
이제 작동하려면 모든 전제 조건이 충족되어야 luasql.mysql
하지만 오류가 발생합니다.
> require "luasql.mysql"
stdin:1: module 'luasql.mysql' not found:
no field package.preload['luasql.mysql']
no file '/usr/local/share/lua/5.2/luasql/mysql.lua'
no file '/usr/local/share/lua/5.2/luasql/mysql/init.lua'
no file '/usr/local/lib/lua/5.2/luasql/mysql.lua'
no file '/usr/local/lib/lua/5.2/luasql/mysql/init.lua'
no file './luasql/mysql.lua'
no file '/usr/share/lua/5.2/luasql/mysql.lua'
no file '/usr/share/lua/5.2/luasql/mysql/init.lua'
no file './luasql/mysql.lua'
no file '/usr/local/lib/lua/5.2/luasql/mysql.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.2/luasql/mysql.so'
no file '/usr/lib/lua/5.2/luasql/mysql.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './luasql/mysql.so'
no file '/usr/local/lib/lua/5.2/luasql.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.2/luasql.so'
no file '/usr/lib/lua/5.2/luasql.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './luasql.so'
stack traceback:
[C]: in function 'require'
stdin:1: in main chunk
[C]: in ?
이제 그 목록에는 /usr/local/lib/luarocks/rocks/
그런 것도 없고 아무것도 없습니다. 게다가 못찾는 것 같아요 mysql.lua
.
luarocks에 따르면 luasql-mysql
설치가 정확합니다.
% luarocks list
Installed rocks:
----------------
luasql-mysql
2.3.0-1 (installed) - /usr/local/lib/luarocks/rocks
나는 내가 뭔가 잘못하고 있다고 생각하지만 어디서 잘못하고 있는지 모르겠습니다. 또한 추가 패키지 설치와 관련하여 Lua는 꽤 모호해 보입니다...
답변1
좋아, 해결했어. 꽤 멍청한 실수였어.
luasql.mysql
예Lua 5.1에서만 작동합니다.,아니요기본적으로 Lua 5.2를 사용합니다. 실행 중: lua5.1
문제 해결:
% lua5.1
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> require "luasql.mysql"
>
...다 괜찮아요.
혼란을 드려 죄송합니다...
답변2
lua.package_cpath
LUA 스크립트에서 또는 설정을 시도해 보셨나요 ?lua.package_path
아니면 설정 LUA_CPATH
과 LUA_PATH
환경 변수인가요?
즉export LUA_PATH='/usr/local/lib/luarocks/?.so'; lua ./XX.lua