2013-07-09 5 views
5

Я работаю в kali-linux (linux distro witch является продолжением Back-Track, основанного в Ubuntu, именно сейчас он основан на Debian wheezy) для некоторых тестирование на проникновение. Все работало отлично, пока я не решил обновить свои системные инструменты. Теперь всякий раз, когда я пытаюсь запустить инструмент, основанный на рубин, он trows меня:Bundler :: GemfileNotFound всякий раз, когда я пытаюсь запустить набор пакетов

Could not find gem 'ruby-progressbar (>= 1.1.0) ruby' in the gems available on this machine. 
Run `bundle install` to install missing gems. 

Я исхожу запустить bundle install но он приходит с Bundler::GemfileNotFound ошибкой.

Kali использование по умолчанию рубин, для использования драгоценных камней. Программное обеспечение не требует какого-либо другого пакета, но рубин кажется не полностью настроенным/установленным для данной проблемы.

$ ruby --version 
ruby 1.9.3p194 (2012-04-20 revision 35410) [i486-linux] 
$ rvm 
bash: rvm: command not found 
$ rbenv 
bash: rbenv: command not found 
+1

'ruby -v' - это немного более простой способ проверить рубиновую версию. –

ответ

1

Проблема заключалась в том, что для какого-то странного мотива Руби не обнаружил, что bundler был установлен, хотя менеджер пакетов так говорит.

$ apt-cache policy bundler 
    bundler: 
Installed: 1.3.5-2 
Candidate: 1.3.5-2 
$ bundle --version 
Bundler::GemfileNotFound 

Я просто запустить gem install bundler затем bundler install как корень в корневой инструмент пути и все работает как шарм.

0

Вы используете rvm или rbenv? Если да, убедитесь, что вы используете конкретную рубиновую версию.

Для rvm, rvm list и ищите указание рядом с вашей рубиновой версией. Если правильного нет в списке, запустите rvm install x.y.z. Если правильный не выбран, запустите rvm use x.y.z

Если вы хотите выделить ваши драгоценные камни для данного проекта, создайте gemset. В противном случае вам должно быть хорошо идти.

Пробег gem install bundler. Вы не должны делать это как sudo. Это установит связку либо в Gemset по умолчанию rvm, либо в выбранный gemset.

Bundler теперь должен быть доступен и может быть запущен с использованием bundle. Это то же самое, что и bundle install.

+0

Проверьте обновление до вопроса. – Braiam

+0

@Braiam Вы определенно хотите использовать рубиновый менеджер версий, или вы собираетесь продолжать кошмары. Обычно я использую 'rvm', но я знаю, что' rbenv' также популярен. –

+0

@Braiam http://rvm.io/, или https://github.com/sstephenson/rbenv –

3

, чтобы избежать этой ошибки, вы должны быть в корне вашего приложения и создавать Gemfile и указать все драгоценные камни, необходимые там, и запустить пакет установки

+0

Я думаю, что это было то, что я сделал в конце, проверьте мой ответ. – Braiam

+1

@SachinSingh является правильным. Хотя это сработало, я настоятельно рекомендую использовать рубиновый менеджер версий, а затем установить пакет для данной версии ruby. У вас будет кошмар, если вы захотите установить еще одну версию рубина. –

+0

@MattDressel Я знаю, что вы даете мне хороший совет, но учтите, что я в конечном счете не разрабатываю для Ruby, я просто хочу использовать конечные инструменты (хотя кажется интересным языком). – Braiam

20

я столкнулась с той же проблемой, когда я пытался bundle install, не понимая, что Я не был в каталоге проекта. Убедитесь, что вы находитесь в текущей директории проекта.

+1

Это просто потрясающе, он решил моего проблемного человека! – Castiblanco

+1

Господи, я всегда думал, что пучок - это пучок. не зависимо от чего-либо. И теперь я перешел в мой каталог приложений, и все было в порядке. лол – RayofCommand

0

Попробуйте это:

sudo ln -s /var/lib/gems/1.8/bin/bundle /bin/bundle 
sudo ln -s /var/lib/gems/1.8/bin/bundler /bin/bundler 

Работал для меня в Debian.

Смежные вопросы