2013-05-22 3 views
1

Версии:Bundler сбой при создании новых Rails приложения

  • Рубин 1.9.3p194

  • Rails 3.2.13

  • Bundler 1.3.5

Когда я пробег rails new new_app, я получаю:

  run bundle install 
/var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/ui.rb:36:in `initialize': undefined method `[]' for #<Thor::Shell::Color:0x00000002b25708> (NoMethodError) 
    from /usr/lib/ruby/vendor_ruby/bundler/cli.rb:12:in `new' 
    from /usr/lib/ruby/vendor_ruby/bundler/cli.rb:12:in `initialize' 
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor.rb:263:in `new' 
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor.rb:263:in `dispatch' 
    from /usr/lib/ruby/vendor_ruby/bundler/vendor/thor/base.rb:386:in `start' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/bin/bundle:20:in `block in <main>' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors' 
    from /var/lib/gems/1.9.1/gems/bundler-1.3.5/bin/bundle:20:in `<main>' 

Код в вопросе в ui.rb является:

def initialize(options = {}) 
    if options["no-color"] || !STDOUT.tty? 
     Thor::Base.shell = Thor::Shell::Basic 
    end 
    @shell = Thor::Base.shell.new 
    @level = ENV['DEBUG'] ? "debug" : "info" 
    end 
+0

http://stackoverflow.com/questions/15438118/rails-new-bundle-install может помочь вам – MrYoshiji

ответ

3

мне удалось исправить это самостоятельно. Сообщение, связанное с г-ном Йошиджи, предположило, что это была несовместимость между Ruby и Rails. В основном это была проблема - это была несовместимость версии, которая лучше всего разрешена с помощью RVM для установки локальной (пользовательской) копии Ruby, Rails и т. Д.

Но я уже установил RVM. Была еще одна проблема, которая должна была быть решена - RVM не работал как функция, которую вы можете решить, установив свой терминал для загрузки /etc/profile при запуске. Как это сделать в gnome-terminal объясняется на сайте RVM here.

Однако это не было хорошим решением для меня, потому что оно не позволяло моим местным файлам bash (например, ~/.bash_aliases) загрузить. Поэтому вместо изменения этой настройки терминала, как показано на сайте RVM, я открыл ~/.bashrc и добавил строку source ~/.rvm/scripts/rvm. После перезапуска терминала все работало нормально - правильные копии Ruby и Rails использовались, и я больше не сталкивался с этой ошибкой, когда пытался создать новое приложение Rails (предположительно потому, что теперь я использую локальные копии драгоценные камни, а не общесистемную копию, установленную через APT).

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