У меня была похожая проблема, когда я переключился с использования rvm на rbenv. Я обнаружил, что мой упаковщик показывает другой список драгоценных камней, чем моя команда gem list
. Сначала проверьте, какие пути использует ваш компоновщик и гем. Для связки используйте команду show
и выберите любой драгоценный камень.
$ bundle show ffi
/my/project/path/vendor/ruby/1.9.1/gems/ffi-1.1.5
и моя gem environment
команда (частично)
$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.23
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin10.8.0]
- INSTALLATION DIRECTORY: /Users/rolf/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1
Здесь я мог видеть, что мой драгоценный камень указывает на правильный путь rbenv, но мой пакет указывает на путь поставщика моего проекта.
Выполнение следующей команды должно исправить проблему с путём компоновки:
$ bundle install --system
Путь Bundler должен теперь указывать на путь rbenv.
$ bundle show ffi
/Users/rolf/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1/gems/ffi-1.1.5
Также я обнаружил, что когда я запускаю команду rvm implode
для удаления rvm, все еще были следующие файлы, которые мне нужно было изменить, чтобы удалить пути rvm:
~/.profile
~/.bashrc
~/.zshrc
Если путь ~/.rvm
все еще существует, его необходимо удалить.
Вам нужно будет открыть новый сеанс терминала после изменения этих файлов. Наконец, после всего этого я наконец-то синхронизировал свой пакет и гем.