2011-07-21 11 views
5

Niedawno zaktualizowałem mysql na moim komputerze. W rezultacie staram się odpowiednio zaktualizować mój klejnot mysql2. Czyniąc to, uruchamiam "instalację pakietu" i z jakiegoś powodu wszystkie klejnoty w moim Gemfile są instalowane w katalogu ./mysql2?Instalacja pakietu instaluje klejnoty w folderze ./mysql2

ruby-1.9.2-p180 [dev]:project.git$ bundle install 
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. 
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3. 
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. 
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162. 
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01. 
Gem::SourceIndex#each called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162. 
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. 
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162. 
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01. 
Gem::SourceIndex#each called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162. 
Fetching source index for http://rubygems.org/ 
Installing rake (0.8.7) 
Installing ZenTest (4.5.0) 
Installing abstract (1.0.0) WARNING: abstract-1.0.0 has an invalid nil value for @cert_chain 

Installing activesupport (3.0.7) 
Installing builder (2.1.2) WARNING: builder-2.1.2 has an invalid nil value for @cert_chain 

Installing i18n (0.5.0) 
Installing activemodel (3.0.7) 
Installing erubis (2.6.6) 
. 
. 
. 
Installing typhoeus (0.2.4) with native extensions 
Installing webrat (0.7.3) 
Installing will_paginate (2.3.15) 
Your bundle is complete! It was installed into ./mysql2 

Z jakiegoś powodu, także mój .bundle reż zawiera plik konfiguracyjny, który wskazuje BUNDLE_PATH jest mysql2? Nie wiem, gdzie to pochodzi i jak on się tam znalazł ...

ruby-1.9.2-p180 [dev]:project.git$ ls 
Gemfile  README  app  config.ru doc  log  mysql2  script  test 
Gemfile.lock Rakefile config  db  lib  misc  public  spec  vendor 
ruby-1.9.2-p180 [dev]:project.git$ ls -a 
.  .git  Gemfile  Rakefile config.ru lib  mysql2  spec 
..  .gitignore Gemfile.lock app  db  log  public  test 
.bundle  .rspec  README  config  doc  misc  script  vendor 
ruby-1.9.2-p180 [dev]:project.git$ cd .bundle 
ls 
ruby-1.9.2-p180 [dev]:.bundle$ ls 
config 
ruby-1.9.2-p180 [dev]:.bundle$ cat config 
--- 
BUNDLE_DISABLE_SHARED_GEMS: "1" 
BUNDLE_PATH: mysql2 

Oto mój Gemfile:

source 'http://rubygems.org' 

gem 'rake' 
gem 'rails' 
gem 'mysql2', '0.2.6' 
gem 'legacy_data' 
gem 'htmlentities' 
gem 'httparty' 
gem 'net-ssh' 
gem 'net-sftp' 
gem 'rsolr' 
gem 'activerecord-import' 
gem 'ar-extensions' 
gem 'typhoeus' 
gem 'composite_primary_keys' 
gem 'devise' 
gem 'authlogic' 
gem 'will_paginate' 
gem 'json_pure' # Note that installing the 'json' gem results in a "[BUG] unknown type 0x22 (0xc given)" error when loading rails console 
gem "friendly_id", "~> 3.2.1" 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+) 
# gem 'ruby-debug' 
# gem 'ruby-debug19' 

# Bundle the extra gems: 
# gem 'bj' 
# gem 'nokogiri' 
# gem 'sqlite3-ruby', :require => 'sqlite3' 
# gem 'aws-s3', :require => 'aws/s3' 

# Gems for RSpec 
# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
group :search_development, :test do 
    gem 'rspec-rails', "~> 2.4" 
    gem 'webrat' 
    gem 'rspec' 
end 

gem 'autotest' 

Byłem przędzenia moich kół na to za jakiś czas. Z góry dziękuję za wszelkie pomysły i przemyślenia dotyczące dalszego postępowania. (Jest to również drugi raz, gdy mam pakiet zainstalowany w katalogu mysql2, więc zdecydowałem się zatrzymać teraz, zanim wykopię głębszą dziurę)

+0

cat ./bundle/config – Anatoly

Odpowiedz

13

To właściwie zaniedbane zachowanie, z którym miałem problem kilka tygodni temu. Prawdopodobnie uruchomiłeś polecenie bundle install mysql, które faktycznie uruchamia bundle install --path mysql i na stałe ustawia swój katalog instalacyjny na ./mysql2 (tak mało jak to ma sens). Najprostszym sposobem rozwiązania tego problemu jest uruchomienie bundle install --system, które powinno przywrócić domyślny katalog instalacyjny. Następnym razem, jeśli chcesz uaktualnić pojedynczy klejnot, użyj polecenia bundle update mysql.

+0

dzięki. Pakiet instalacyjny - system załatwił sprawę. Twoje zdrowie. – Sly

+2

Również komentarz re @mikhailov, można "rm./Bundle/config", a następnie ponownie uruchomić 'bundle install' i to się poprawi! –

+0

Stanowe narzędzia wiersza poleceń: wygląda na zły pomysł. Straciłem mój mózg i SO/Google przez 30 minut z powodu tego problemu. Czy to powszechne w świecie Ruby? –

0

Nie jestem pewien, dlaczego instaluje wszystko do mysql2 folder, ale aby go przywrócić, należy to zrobić: bundle install --path vendor

Powinieneś być w stanie bezpiecznie usunąć folder mysql2, a twoje klejnoty będą tam, gdzie powinny. Mam nadzieję, że ktoś inny będzie w stanie wyjaśnić, dlaczego jest zainstalowany w tym innym folderze.

Powiązane problemy