2016-04-07 2 views
1

По какой-то причине я получаю эту ошибку при попытке запустить ruby-скрипт внутри моего пакета. Я прошел множество других вопросов и ответов, но никто из них еще не решил мою проблему.Ваша версия Ruby X.X.X, но ваш Gemfile указан X.X.X

Я делаю некоторые тесты, чтобы убедиться, что скрипт может работать, что может быть моя проблема, так вот моя структура файла:

├── Gemfile 
├── Gemfile.lock 
├── README.md 
├── bin 
│   └── scan 
├── lib 
│   ├── functions.rb 
│   └── checkin.rb 
├── lists 
│   ├── default-passwords.txt 
│   ├── passwords.txt 
│   └── users.txt 
├── scan.rb 
├── scripts 
│   └── check_repo.sh 
├── tmp 
│   └── export_tracker.yml 
└── updates 
    └── install.sh 

Я тестирую checkin.rb, поэтому в корне моего каталог, я бег ruby lib/checkin.rb

ошибки я получаю Спинку:

/Users/godzilla/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/definition.rb:402:in `validate_ruby!': Your Ruby version is 2.0.0, but your Gemfile specified 2.1.4 (Bundler::RubyVersionMismatch) 
    from /Users/godzilla/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler.rb:88:in `setup' 
    from /Users/godzilla/.rbenv/versions/2.1.4/lib/ruby/gems/2.1.0/gems/bundler-1.11.2/lib/bundler/setup.rb:18:in `<top (required)>' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' 

Я запустить следующие команды и включал их вывод:

ruby -v = ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-darwin15.0]

rbenv version = 2.1.4 (set by /Users/godzilla/Documents/Coding/app/.ruby-version)

rbenv local = 2.1.4

rbenv global = 2.1.4

Кто-то также предложил сделать следующее, но это не помогло:

gem update bundler

bundle install

rbenv rehash

+0

Что такое вывод 'which bundle'? Похоже, что ваш комплектщик выполняется системой ruby, а не rbenv one – Vasfed

+0

@Vasfed Вот результат: '/ Пользователи/godzilla/.rbenv/shims/bundle' – Godzilla74

+0

Каков вывод' rbenv версий'? – jeffdill2

ответ

0

Я столкнулся с некоторыми вещами, связанными с этим в прошлом. Хотя с другой стороны.

Это то, что я бы рекомендовал. Это может помочь (мне это помогло), но я бы попытался перейти к вашему gemfile и просто изменить рубиновую версию с 2.1.4 до 2.0.0.

Это все, что я сделал несколько раз, когда у меня была эта проблема, и это позволило мне продолжить.

0

Не знаете, какая строка в вашем файле вызывает проблему, но я решил эту проблему в прошлом, используя Bundler.clean_system. Например:

Bundler.clean_system "heroku pg:psql DATABASE -c 'DELETE FROM <table name>' -a <heroku app name>"