尽管已安装 FreeBSD,但“ruby:未找到命令”

尽管已安装 FreeBSD,但“ruby:未找到命令”

我只是尝试在我有一段时间没有使用的 FreeBSD 机器上运行 ruby​​ 脚本,并得到“ruby:找不到命令”。所以我想我只是之前没有安装它。转到 /usr/ports/lang/ruby22 并执行 make install clean。这告诉我 ruby​​22 已经安装了。

然后我做了一个 pkg version -v,这表明它实际上已经安装了。然后我想它可能有一个 bin 目录,由于某种原因从 $PATH 中删除了,或者类似的东西,所以我做了一个 make deinstall,然后做了一个 make install。它声称已经安装得很好,但我仍然收到“ruby:找不到命令”错误。

进一步调查,它确实安装了 /usr/local/bin/ruby22 可执行文件,我想我可以创建一个指向它的符号链接,但是......这里出了什么问题吗?是否有一些我没有采取的安装步骤可以让 FreeBSD 知道我真的非常想使用这个特定版本的 Ruby 作为机器的默认“ruby”?

如果重要的话,这是 10.1 RELEASE amd64,并且 ports 树是完全最新的,所有安装的软件包也是如此。

答案1

据介绍/usr/ports/UPDATING:20150301,目前 Ruby 的默认版本是 2.1。如果您想使用 2.2 作为默认值,您应该更新以下DEFAULT_VERSIONS旋钮/etc/make.conf

DEFAULT_VERSIONS+=ruby=2.2

然后,您需要重新安装 Ruby 2.2,以确保安装的二进制文件和脚本具有预期的名称(即没有版本后缀)。

相关内容