«ruby: Команда не найдена» на FreeBSD, несмотря на то, что она установлена

«ruby: Команда не найдена» на FreeBSD, несмотря на то, что она установлена

Я только что попытался запустить скрипт ruby ​​на FreeBSD-компьютере, который я давно не использовал, и получил сообщение "ruby: Command not found". Поэтому я решил, что просто не установил его ранее. Перешел в /usr/ports/lang/ruby22 и выполнил make install clean. Это сказало мне, что ruby22 уже установлен.

Итак, я сделал pkg version -v, что показало мне, что он действительно установлен. Затем я подумал, что, возможно, у него есть каталог bin, который по какой-то причине был удален из $PATH, или что-то в этом роде, поэтому я сделал make deinstall, а затем make install. Он утверждал, что установился просто отлично, но я все равно получаю ошибку "ruby: Command not found".

Если разобраться, то он установил исполняемый файл /usr/local/bin/ruby22, и я думаю, что могу просто сделать символическую ссылку на него, но... что-то тут не так? Возможно, есть какой-то шаг установки, который я не выполнил, который дал бы FreeBSD знать, что я действительно, действительно хочу использовать эту конкретную версию Ruby в качестве "ruby" машины по умолчанию?

Если это имеет значение, это 10.1 RELEASE amd64, и дерево портов полностью обновлено, как и все установленные пакеты.

решение1

Согласно /usr/ports/UPDATING:20150301, версия Ruby по умолчанию в настоящее время 2.1. Если вы хотите использовать версию 2.2 по умолчанию, вам следует обновить DEFAULT_VERSIONSручку в /etc/make.conf:

DEFAULT_VERSIONS+=ruby=2.2

Затем вам потребуется переустановить Ruby 2.2, чтобы убедиться, что двоичные файлы и скрипты установлены с ожидаемыми именами (т. е. без суффикса версии).

Связанный контент