Как я могу настроить gem install на использование «install» из нужного места?

#configuration #gem #symlink

#конфигурация #rubygems #символическая ссылка

Вопрос:

Когда я пытаюсь установить rails с помощью gem на моем компьютере Arch Linux, я получаю следующую ошибку:

$ gem install rails

выполнить установку

/usr/bin/install -c -m 0755 bcrypt_ext.so /главная страница/gphilip/.rvm/gems/ruby-1.9.3-предварительный просмотр1/gems/bcrypt-ruby-3.0.1/библиотека

make: /usr/bin/install: команда не найдена

сделайте: * [/home/gphilip/.rvm/gems/ruby-1.9.3-preview1/gems/bcrypt-ruby-3.0.1/lib/bcrypt_ext.so] Ошибка 127

Оказывается, что в Arch Linux двоичный файл «install» находится в /bin/install . Итак, в моей системе у меня есть:

$which install

/bin/install

$

Поскольку у меня есть root-доступ (это мой ноутбук!), Я мог бы легко «исправить» это, создав символическую ссылку в /usr/bin/install , но как я мог бы сделать это иначе?

Как мне настроить gem на использование команды «install» из /bin/ вместо того, чтобы настаивать на использовании команды в /usr/bin/ ?

Я спрашиваю об этом на случай, если я нахожусь в ситуации, когда я сталкиваюсь с той же проблемой, и у меня нет разрешений на создание символических ссылок в произвольных местах.

Ответ №1:

Найдите rbconfig.rb файл в каталоге установки ruby (пример для моей машины):

 $ which ruby
/home/valentin/.rvm/rubies/ruby-1.8.7-p352/bin/ruby

$ find /home/valentin/.rvm/rubies/ruby-1.8.7-p352 -name rbconfig.rb
/home/valentin/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/x86_64-linux/rbconfig.rb
  

В этой строке изменения файла

 CONFIG["INSTALL"] = '/usr/bin/install -c'
  

Для

 CONFIG["INSTALL"] = '/bin/install -c'
  

(Или какой бы ни был правильный путь установки, мне пришлось изменить его обратно /usr/bin , например)

Возможно, вы захотите обновить и другие пути.

Или вы можете просто переустановить ruby.