2011-07-21 18 views
5

Recientemente actualicé mysql en mi máquina. Como resultado, estoy intentando actualizar mi gema mysql2 en consecuencia. En el proceso de hacer eso, ejecuto "bundle install", y por alguna razón todas las gemas en mi Gemfile se están instalando en un directorio ./mysql2 ??La instalación del paquete instala las gemas en la carpeta ./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 

Por alguna razón, también mi dir .bundle contiene un archivo de configuración que indica la BUNDLE_PATH es mysql2? No sé de dónde salió o cómo llegó hasta allí ...

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 

Aquí es mi 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' 

que he estado haciendo girar mis ruedas en esto durante algún tiempo. Gracias de antemano por cualquier idea o pensamiento sobre cómo proceder. (Además, esta es la segunda vez que he instalado en un dir mysql2 paquete, así que he decidido parar ahora antes de que cavar un agujero más profundo)

+0

cat ./bundle/config – Anatoly

Respuesta

13

En realidad, es un comportamiento obsoleto con el que tuve un problema hace un par de semanas. Es probable que haya ejecutado el comando bundle install mysql, que realmente ejecuta bundle install --path mysql y establece permanentemente su directorio de instalación en ./mysql2 (tan poco como eso tenga sentido). La manera más fácil de evitar que esto ocurra es ejecutando bundle install --system, y eso debería restaurar su directorio de instalación predeterminado. La próxima vez, si desea actualizar una sola gema, use el comando bundle update mysql.

+0

gracias. La instalación del paquete --system hizo el truco. Aclamaciones. – Sly

+2

Además, con el comentario de @mikhailov, uno puede 'rm./Bundle/config' y luego volver a ejecutar' bundle install' ¡y se corregirá solo! –

+0

herramientas de línea de comando con estado: parece una mala idea. Sacudí mi cerebro y SO/Google durante 30 minutos debido a este mismo problema. ¿Es esto común en el mundo de Ruby? –

0

No estoy seguro de por qué está instalando todos a una mysql2 carpeta, pero para volver a cómo debe ejecutarse esto: bundle install --path vendor

Debería poder eliminar con seguridad la carpeta mysql2 y sus gemas estarán donde deberían estar. Esperemos que alguien más pueda explicar por qué se instaló en esa otra carpeta.

Cuestiones relacionadas