我以 root 用户身份在我的计算机上安装了 rh-ruby26,它安装在 /opt/rh/rh-ruby26/root/bin/ruby 下。当我尝试执行脚本时,出现“加载共享库时出错:libruby.so.2.6:无法打开共享文件对象文件:没有此文件或目录”。因此,为了修复此问题,我设置了 LD_LIBRARY_PATH,并且成功了。为了永久修复此问题,我已将 libruby.so 链接到 lib64 路径。因此,我的问题是
- 为什么 libruby.so 没有存储在标准库路径下?2.所有标准库路径是什么,我们需要检查是否要查找任何库?3.如果普通用户安装了相同的 rh-ruby26 包,那么 libruby.so 文件将存储在哪里?
请帮我找到答案。提前谢谢
答案1
听起来你正在使用软件集合。这些是故意与标准系统路径分开的,以便可以同时安装多个版本,并且不会与发行版附带的原始版本发生冲突。
文档告诉我们如何使用软件集合。您需要从终端执行的操作是执行scl enable rh-ruby26 bash
以获取启用了此软件集合的 shell。有关如何创建使用软件集合的系统服务的信息,请参阅链接的文档。