修复RVM的Solaris 11 GNU工具位置

我正在尝试在Solaris 11系统上安装RVM,即curl -sSL https://get.rvm.io | bash -s stable curl -sSL https://get.rvm.io | bash -s stable经过了,但是当我真正尝试使用rvm ,它只是简单的统计“错误:缺lessGNU工具:grep哪个awk cpdatefindsed 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的含义)。

但在这个Solaris 11上的grep工作得很好,它的版本号为grep (GNU grep) 2.16 ,位于/ec/bin/

所以我的问题是:如何修复path,以便RVM可以使用/ec/bin下的grep?

在我看来,你已经读了一些东西,走了一条糟糕的路。 🙁

首先,许多GNU工具已经可以在Solaris 11上使用,而且实际上已经存在于/usr/gnu/bin 。 所以你提到的脚本是非常正确的。 这确实是GNU工具在Solaris 11上可以使用的地方。

如果您发现不是这种情况,请按照本文中的Solaris 11准则进行操作。 (不要使用Solaris 10的准则,也不要尝试自己构buildGNU工具..不需要复杂的事情)。 所以,如果你按照这个post做(以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所需的所有内容。如果已经安装了该软件包,则不会有执行这些命令的风险。

关于GNU工具,Solaris 11与Solaris 10相比是一个重大的改变。 它变得更容易和更多GNU就像开箱即用。 因此,如果您使用与Solaris 10和GNU工具相关的信息,那么您可能会使自己陷入困境或采取不必要的行动。

其他的build议:

  • 您提到了“稀疏根区域”一词,但是这个概念在Solaris 11和更高版本中不再适用。 您必须阅读Solaris 11之前的版本。

  • 我想知道你的post中/ec/代表什么?