Bundler с проблемой пути к файлу версии rbenv

Поэтому я использую rbenv для установки моей версии ruby ​​(для конкретного проекта, над которым я работаю, это 2.1.1). Проблема в том, что упаковщик не может обнаружить это изменение. Я даже попытался установить версию в моем gemfile:

source "https://my-proxy-address"
ruby "2.1.1"
gem 'fileutils'
gem 'json'
gem 'chef-api'

Однако тогда это вызывает точное сообщение об ошибке, как показано здесь в конце урока:

username@hostname:~/Desktop/working-bundler-env$ rbenv version
2.1.1 (set by /Users/username/.rbenv/version)
username@hostname:~/Desktop/working-bundler-env$ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin15.0]
username@hostname:~/Desktop/working-bundler-env$ bundle install
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.1

Учебное пособие имеет решение проблемы (отредактируйте файл пути), однако они не говорят, какой файл изменить. Какой файл мне поменять?

$ rbenv
rbenv 1.0.0
Usage: rbenv <command> [<args>]

Some useful rbenv commands are:
   commands    List all available rbenv commands
   local       Set or show the local application-specific Ruby version
   global      Set or show the global Ruby version
   shell       Set or show the shell-specific Ruby version
   install     Install a Ruby version using ruby-build
   uninstall   Uninstall a specific Ruby version
   rehash      Rehash rbenv shims (run this after installing executables)
   version     Show the current Ruby version and its origin
   versions    List all Ruby versions available to rbenv
   which       Display the full path to an executable
   whence      List all Ruby versions that contain the given executable

See `rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/rbenv/rbenv#readme

$ which bundle
/usr/local/bin/bundle

1 ответ

Решение

Итак, я заметил, что когда я побежал gem bundle install версия была 1.13.3, После запуска sudo find / -name bundle Я нашел два местоположения файла, которые включали этот номер версии.

/Users/myusername/.gems/gems/bundler-1.13.3/exe/bundle
/Users/myusername/.gems/gems/bundler-1.13.3/lib/bundler/man/bundle

После попытки запустить /Users/myusername/.gems/gems/bundler-1.13.3/exe/bundle install это работает отлично. Так что я просто сделал псевдоним в моем ~/.bash_profile это переписало неправильную команду связки.

alias bundle=/Users/alexcohen/.gems/gems/bundler-1.13.3/exe/bundle

Единственный побочный эффект этого драгоценного камня (к лучшему или худшему) заключается в том, что он создает .bundle а также path каталоги в каталоге, где я бегу bundle install где драгоценные камни загружаются в.

Я все еще должен выяснить, почему это происходит, но я думаю, что bundle Команда в моем терминале macs ссылалась на какой-то тип поврежденного пакета или файл в моей системе.

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