在 centos7 上执行 sudo luarocks 命令未找到

我在 centos7 上安装了 luarocks,然后我执行'luarocks install luacheck'时出现错误:

'错误:您的用户没有在 /usr/local/lib/luarocks/rocks 中写入权限

-- 您可能要运行作为特权用户或使用带有--local的本地树。'

所以,我执行'sudo luarocks install luacheck',但还是出现错误:

'sudo luarocks 命令未找到'。

我确认 luarocks 已经正确安装,因为当我执行'luarocks --version'时,显示:

/usr/bin/luarocks 2.4.2

点赞
用户1793220
用户1793220

你可以选择使用

sudo /usr/bin/luarocks install luacheck

来将 luacheck 系统级安装,

或者

luarocks --local install luacheck

将其仅安装到您的个人用户中。如果您选择第二个选项,还需要运行

eval $(luarocks path --bin)

以确保 Lua 路径在您的 shell 中得到更新。为了使这些 Lua 路径永久生效,您可以将上面的命令添加到您的 shell 配置文件 ( ~/.bash_profile 或类似文件) 中。

2018-01-03 16:18:37
用户3589170
用户3589170

由于luarocks没有使用本机包管理器安装,因此它安装到了/usr/local/bin。这个路径不在sudo上下文中可用的PATH变量中 - 您可以在sudoers文件中的secure_path属性中查看(和编辑)配置的路径。

我使用的解决方法是添加一个符号链接到secure_path属性中包含的路径: sudo ln -s /usr/local/bin/luarocks /usr/bin/luarocks

2019-04-17 10:34:24