Установите 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