Не могу запустить программу, установленную через 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", теперь можно выполнить.

Другие вопросы по тегам