Команда sudo luarocks не найдена на centos7

Я установил luarocks на centos7, затем выполняю «luarocks install luacheck», возникает ошибка:

«Ошибка: у вашего пользователя нет прав на запись в /usr/local/lib/luarocks/rocks
— вы можете запустить его как привилегированный пользователь или использовать локальное дерево с параметром --local».

Итак, я выполняю «sudo luarocks install luacheck», но также возникает ошибка:

«команда sudo luarocks не найдена».

Я подтверждаю, что luarocks установлен правильно, потому что когда я запускаю luarocks --version, отображается:

/usr/bin/luarocks 2.4.2


person tangke    schedule 02.01.2018    source источник
comment
Это не столько вопрос lua, сколько вопрос Linux :-) В любом случае, попробуйте с полным путем. Как ваш обычный пользователь, введите «what luarocks», чтобы получить полный путь, затем «sudo /path/to/luarocks» (без каких-либо опций), просто чтобы посмотреть, не работает ли что-то еще. В редких случаях вы можете получить ошибку библиотеки, скрывающуюся за командой not found, но обычно это просто проблема с переменной PATH (т. е. для вашего пользователя != root).   -  person BJ Black    schedule 03.01.2018


Ответы (2)


Поскольку luarocks не устанавливается с помощью собственного менеджера пакетов, он устанавливается в /usr/local/bin. Этого нет в переменной PATH, доступной в контексте sudo — вы можете увидеть (и отредактировать) сконфигурированные пути в свойстве secure_path в файле sudoers.

Обходной путь, который я использую для добавления символической ссылки на путь, включенный в свойство secure_path: sudo ln -s /usr/local/bin/luarocks /usr/bin/luarocks

person notoriousTOB    schedule 17.04.2019

Вы можете либо использовать

sudo /usr/bin/luarocks install luacheck

установить luacheck для всей системы

or

luarocks --local install luacheck

для установки только для вашего пользователя. Чтобы использовать второй вариант, вам также нужно запустить

eval $(luarocks path --bin)

чтобы убедиться, что пути Lua обновлены в вашей оболочке. Чтобы сделать эти пути Lua постоянными, вы можете добавить приведенную выше строку в файл конфигурации оболочки (~/.bash_profile или аналогичный).

person Hisham H M    schedule 03.01.2018