【发布时间】:2018-03-29 11:02:03
【问题描述】:
您可能认为这是一个经典的“全局”命令问题,但事实并非如此。
我可以通过这个全局设置 ruby:
rbenv global 2.5.1
然而,这使得 ruby2.5.1 对所有用户来说都是全局的,而不是对整个系统。当同一服务器中的应用程序想要调用 ruby 或访问/管道 ruby 时,它们会收到 command not found 错误。
我相信我们应该安装或符号链接到 /usr/bin 或 /usr/local/bin 或其他东西......
我找不到与此相关的任何信息。如何使选定的 ruby 版本对其他应用程序可见?
我唯一的解决方案是自己构建 ruby 到系统目录,但这会与 rbenv 冲突。
例子:
- 当 postfix 想要通过管道将电子邮件发送到 ruby 时,即使我设置为全局,它也找不到 ruby。
- 当 webmin 尝试通过 ruby 运行命令时,它也找不到 ruby。
解决方法:
将/root/.rbenv/shims 文件夹添加到执行脚本上的$PATH 可以按预期工作,但在某些情况下无法直接修改$PATH。 我的选择是什么?
【问题讨论】: