Установите luaSQL на Ubuntu

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


У меня возникают проблемы при установке 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. После некоторого поиска в Google я нашел это:

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
Кодовое имя: верный

4 ответа

Решение

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

apt-get install lua-sql-mysql

Кредиты для пользователя 'TsT' из irc-чата lua-support: чат можно найти здесь: 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')"))

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

apt-get install -y libmysqlclient-dev git
luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql

Установщик apt не сделал это для меня.

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

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

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

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

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

Другие вопросы по тегам