2015-09-19 2 views
1

TL; 0: Вы можете пропустить до here. Я пытался использовать установщик luarocks, но программа установки apt-get сделала это без проблем.
Установить luaSQL на Ubuntu


Я испытываю проблемы при установке luaSQL на Ubuntu. Мне нужно это для скрипта, который использует luasql = require "luasql.mysql". Я последовал за официальной документации, которую можно найти здесь: http://keplerproject.github.io/luasql/doc/us/
То, что я пытался (и то, что было предложено в официальной документации):

sudo luarocks install luasql-mysql 

дал мне следующий вывод:

Error: Could not find expected file mysql.h for MYSQL -- 
you may have to install MYSQL in your system and/or pass MYSQL_DIR or 
MYSQL_INCDIR to the luarocks command. Example: luarocks install luasql-mysql 
MYSQL_DIR=/usr/local 

Поэтому я сначала должен был получить файл mysql.h. Через некоторое Googling я нашел this:

sudo apt-get update 
sudo apt-get install libmysqlclient-dev 

Так что я снова попробовал свою первую команду, но с расположением файла mysql.h в качестве параметра:

sudo luarocks install luasql-mysql MYSQL_DIR=/usr/include/mysql 

И это дало мне такую ​​же ошибку, как в начале. Кто-нибудь знает правильные инструкции по установке luaSQL на машине Ubuntu? Или можете указать мне в правильном направлении?


Моя система:
Описание: Ubuntu 14.04.2 LTS
выпуска: 14,04
Codename: испытанный

+0

Вы уверены, что mysql s ources находятся в '/ usr/include/mysql'? – hjpotter92

+1

Я отредактировал свой вопрос и связал ресурс, где я нашел эту информацию: http: //stackoverflow.com/questions/14604228/mysql-h-file-cant-be-found? Lq = 1 Верхний комментарий предполагает, что место нахождения. –

+0

Вы пытались 'find/usr/-name 'mysql.h''? – hjpotter92

ответ

3

установить LuaSQL:

apt-get install lua-sql-mysql 

Кредиты пользователь «TsT» из irc-чата lua-support: chatlog можно найти здесь: https://botbot.me/freenode/lua-support/msg/50072546/


Тестовый скрипт вы можете использовать:

luasql = require "luasql.mysql" 

env = assert (luasql.mysql()) 
con = assert (env:connect("dbname","username","password","host.com")) 
cur = assert (con:execute("INSERT INTO `table`(`col_int`,`col_varchar`) VALUES (9,'Hi')")) 
0

АПП инсталлятор не делал это для меня.

Я смог установить его из источника на github (keplerproject/luasql), изменив файл конфигурации. Lua 5.2 был жестко закодирован в конфигурационном файле, но я запускаю 5.1.

В конфигурационном файле, замените LUA_SYS_VER ?= 5.2 с LUA_SYS_VER ?= 5.1

0

Я должен был использовать MYSQL_INCDIR

sudo luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql 

Потому что не удалось с MYSQL_DIR

1

Если вы хотите установить его вручную:

apt-get install -y libmysqlclient-dev git 
luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql 
Смежные вопросы