2011-08-17 18 views
23

Estoy intentando implementar mi aplicación Rails 3.0. Uso rvm y ruby ​​1.9.2 (p 180 o p 290 - sin diferencias) en el servidor de producción de FreeBSD. Cuando corro comando bundle, consigo esta excepción en todos: la gema Git (parece que la excepción sólo se provoca cuando utilizo las versiones de borde con: opción de git en Gemfile):Cuando ejecuto el paquete obtengo una secuencia de bytes no válida en US-ASCII

... 
Installing has_scope (0.5.1) 
Installing responders (0.6.4) 
Using inherited_resources (1.2.2) from https://github.com/josevalim/inherited_resources.git (at master) /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1915:in `gsub': invalid byte sequence in US-ASCII (ArgumentError) 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:1915:in `to_yaml' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:79:in `block (2 levels) in write_package' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:73:in `block (3 levels) in add_gem_contents' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_writer.rb:83:in `new' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:67:in `block (2 levels) in add_gem_contents' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:65:in `wrap' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:65:in `block in add_gem_contents' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_writer.rb:113:in `add_file' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:63:in `add_gem_contents' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb:31:in `open' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/package.rb:44:in `open' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:78:in `block in write_package' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:35:in `open' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/open-uri.rb:35:in `open' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:77:in `write_package' 
from /home/tmr/data/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/builder.rb:39:in `build' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/source.rb:456:in `block in generate_bin' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/source.rb:456:in `chdir' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/source.rb:456:in `generate_bin' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/source.rb:565:in `install' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/installer.rb:58:in `block (2 levels) in run' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/rubygems_integration.rb:93:in `with_build_args' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/installer.rb:57:in `block in run' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/installer.rb:49:in `run' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/installer.rb:8:in `install' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/cli.rb:220:in `install' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/vendor/thor/task.rb:22:in `run' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/vendor/thor.rb:263:in `dispatch' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/lib/bundler/vendor/thor/base.rb:386:in `start' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.18/bin/bundle:13:in `<top (required)>' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/bin/bundle:19:in `load' 
from /home/tmr/data/.rvm/gems/ruby-1.9.2-p180/bin/bundle:19:in `<main>' 

Mi Gemfile:

source 'http://rubygems.org' 

group :production do 
    gem "unicorn" 
end 

gem 'rails', '3.0.10' 
gem 'devise' #, :git=>'https://github.com/plataformatec/devise.git' 
gem 'russian', :git => 'https://github.com/yaroslav/russian.git' 
gem 'i18n' 
gem 'cancan', :git=>'https://github.com/ryanb/cancan.git' 
gem 'riddle', :git => 'git://github.com/freelancing-god/riddle.git' 
gem 'thinking-sphinx', :git => 'https://github.com/freelancing-god/thinking-sphinx.git', :branch=>'rails3' 
gem 'inherited_resources', :git=> 'https://github.com/josevalim/inherited_resources.git' 
gem 'has_scope' 
gem 'simple_form' 
gem 'dynamic_form' 
#gem "crummy", ">= 1.0.1" 
gem "haml" 
gem 'jquery-rails', '>= 0.2.6' 
gem 'kaminari' 
gem 'mysql2', '< 0.3' 
gem "paperclip", "~> 2.3" 
gem "whenever" 

group :development do 
    gem 'haml-rails' #, :git=>"https://github.com/indirect/haml-rails.git" 
    gem "capistrano" 
end 

1.9 es horrible con sus problemas de codificación ... ¿podría ayudar una vez más?

+0

El problema es que en algún lugar de yaml, porque si yo no uso las versiones joya borde, me sale otra excepción yaml psiquiátrico. ¿Algunas ideas? ¡Tengo que implementarlo hoy o morir!) –

Respuesta

36
export LANG=ru_RU.UTF-8 

export LC_ALL=ru_RU.UTF-8 
+16

Si no hablas ruso pero hablas inglés, utiliza en_US.UTF-8 – gamecreature

+1

Por supuesto, utiliza tu propia configuración regional :) Mostré solo el principio. –

1

En los sistemas Debian/Ubuntu, ejecute:

$ dpkg-reconfigure locales 

y seleccionar sus lugares.

52

Para mí funciona, añadiendo estas líneas a la parte superior de Gemfile

 
if RUBY_VERSION =~ /1.9/ 
    Encoding.default_external = Encoding::UTF_8 
    Encoding.default_internal = Encoding::UTF_8 
end 
+3

Para algunos casos, ese consejo funciona. Pero no funcionó para el mío. En mi caso, era importante establecer la codificación de bash, no de ruby. –

+0

¡Funcionó para mí! YAAAAAAAAAAAAAAAAAAAAHOOOOOOOOOOOOOOOOOOOOOOOOOOO – slotishtype

+0

funcionó para mí también – ramonrails

Cuestiones relacionadas