требуется некий модуль (в моём случае tarantool/websocket). Пытаюсь его поставить с, опять же, tarantoolctl rocks install. Даже из-под sudo модуль ставится не в системный каталог, а в текущий в подкаталог .rocks, так что при запуске через sudo tarantoolctl start всё равно не хватает websocket. Что я делаю не так?
если вы запускаете как tarantool init.lua, то консоли нет, потому что никто её не создал ну и запуск через tarantool init.lua не может считаться "администрированием" — это режим разработки. можно запустить консоль самому (require "console".start() или require "console".listen("/path/to/socket"))
Можно запустить, я запускаю, но не понимаю, как подключиться.
Можно подключиться через tarantoolctl connect, надо только права пользователя настроить. https://www.tarantool.io/en/doc/latest/book/admin/server_introspection/#executing-code-on-an-instance Если запущено из командной строки, то из другой консоли просто. Был ещё пример где запускалась интерактивная сессия после запуска приложения через console.start(), но не нахожу сейчас. Если приложение на картридже, можно использовать cartridge enter/connect
Спасибо. Как устанавливать модули через tarantoolctl rocks, чтобы они были видны при запуске приложения через tarantoolctl start?
Можно запустить tarantoolctl rocks install в папке, где лежит приложение, тогда .rocks будут лежать там же. Есть еще systemwide пути для луа модулей, их можно посмотреть в тарантуле в package.path или package.cpath для сишных модулей соответственно Но я думаю, что, на самом деле, вопрос такой - как распространять приложение? Если используете cartridge, то там можно сделать cartridge pack <rpm / deb> и получить пакет, в котором все необходимые зависимости уже будут присутствовать. Также в картридже есть возможность пользоваться луашной рокспекой, чтобы можно было управлять зависимостями https://github.com/tarantool/cartridge-cli#packing-an-application
Спасибо. В общем, фраза из https://www.tarantool.io/ru/download/rocks Для установки модуля выполните команду: $ tarantoolctl rocks install module-name полна лукавства. Модуль устанавливается не вообще, а в конкретном месте, до которого ещё нужно докопаться.
Обсуждают сегодня