![修复 RVM 的 Solaris 11 GNU 工具位置](https://linux22.com/image/626776/%E4%BF%AE%E5%A4%8D%20RVM%20%E7%9A%84%20Solaris%2011%20GNU%20%E5%B7%A5%E5%85%B7%E4%BD%8D%E7%BD%AE.png)
我正在尝试在 Solaris 11 系统上安装 RVM,curl -sSL https://get.rvm.io | bash -s stable
但当我真正尝试使用时rvm
,它只是显示“错误:缺少 GNU 工具:grep which awk cp date find sed tail tar xargs。请确保在使用 RVM 之前将它们安装在‘/’中!”然后退出。
通过阅读https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/support我发现gnu_tools_path
被硬编码为/usr/gnu/bin
。我直接检查了它并在那里找到了一些符号链接。我尝试/ec/bin/grep
在那里创建一个 的符号链接,结果发现在这个 Solaris 11 系统上 是以usr
只读方式安装的。在快速 Google 之后,我假设这是一个“稀疏区域”问题(因为我对 Solaris 一无所知)。
但grep
在此 Solaris 11 上运行良好,它有版本号grep (GNU grep) 2.16
,位于 下/ec/bin/
。
所以我的问题是:我该如何修复路径以便 RVM 可以使用下的 grep /ec/bin
?
答案1
我觉得你好像在某个地方读过一些东西并且走上了一条错误的道路。:-(
首先,许多 GNU 工具已经在 Solaris 11 上可用,而且它们实际上已经存在于 中/usr/gnu/bin
。因此剧本你说的非常正确。这确实是 GNU 工具在 Solaris 11 上存在的地方。
如果您发现情况并非如此,请遵循 Solaris 11 指南这篇文章.(不要使用 Solaris 10 的指南,也不要尝试自己构建 GNU 工具……没必要把事情复杂化)。因此,如果您按照该帖子操作(以 root 身份):
pkg install archiver/gnu-tar
pkg install file/gnu-coreutils
pkg install file/gnu-findutils
pkg install text/gawk
pkg install text/gnu-diffutils
pkg install text/gnu-grep
pkg install text/gnu-sed
那么您应该拥有在 Solaris 11 上使用 RVM 所需的一切。如果软件包已经安装,则执行这些命令没有风险。
Solaris 11 在 GNU 工具方面与 Solaris 10 有很大不同。它变得更容易使用,并且开箱即用,更像 GNU。因此,如果您使用与 Solaris 10 wrt GNU 工具相关的信息,那么您可能会让自己变得更加困难或采取不必要的行动。
其他的建议:
您提到了“稀疏根区域”这个词,但该概念在 Solaris 11 及更高版本中不再适用。您一定读过 Solaris 11 之前的某些内容。
我想知道
/ec/
您的帖子代表什么?