Не могу запустить программу, установленную через gem install
Я установил Ruby с помощью RVM.
Я выполнил команду gem install rspec, и она правильно установила rspec. Если я делаю rspec, я получаю "Программа rspec в настоящее время не установлена", и мне предлагается apt-get it.
Если я попытаюсь выполнить установку gem rspec снова, это покажет, что rspec уже установлен. Я попытался выполнить sudo gem install rspec, думая, что это может быть проблема с правами доступа, но затем терминал сказал, что программа gem не установлена.
Как я могу запускать программы, в которых у меня установлен "gem" в Ubuntu, не прибегая к "apt-get"?
3 ответа
Моя проблема заключалась в том, что версия ruby из моей среды гемов отличалась от версии ruby от rvm.
Я использовал команды
gem env
which ruby
Для диагностики проблемы. Это дало мне версию ruby, используемую gem и rvm, а затем использовала
rvm use <ruby-version>
Чтобы соответствовать двум рубиновым версиям.
Я сделал сообщение в блоге с более подробной информацией: Проблемы с запуском исполняемого файла из гема, установленного под rvm
Когда вы используете rbenv вместо RVM, у вас есть возможность запустить rbenv rehash
, который поместит двоичные файлы gem в path, чтобы вы могли их использовать. Также вам нужно запустить rbenv rehash
каждый раз, когда вы устанавливаете новый гем, который предоставляет двоичные файлы.
У меня вообще не было rvm в Ubuntu 15.04. Решение было установить rbenv
пакет. Теперь все, что я установил через "gem install", теперь можно выполнить.