2011-08-17 1 views
23

Sto provando a distribuire la mia app Rails 3.0. Io uso rvm e ruby ​​1.9.2 (p 180 o p 290 - nessuna differenza) sul server di produzione di FreeBSD. Quando eseguo comando bundle, ottengo questa eccezione su ogni: git gemma (sembra che un'eccezione viene generato solo quando si utilizza le versioni bordo con: l'opzione git in Gemfile):Quando si esegue il bundle ottieni una sequenza di byte non valida in 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>' 

mio 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 è orribile con i suoi problemi di codifica ... potresti aiutarmi ancora una volta?

+0

problema è da qualche parte in YAML, perché se io non uso le versioni gemma bordo, ottengo un'altra eccezione YAML psych. Qualche idea? Devo distribuirlo oggi o morire!) –

risposta

36
export LANG=ru_RU.UTF-8 

export LC_ALL=ru_RU.UTF-8 
+16

Se non parli russo ma parli inglese, usa en_US.UTF-8 – gamecreature

+1

Naturalmente, usa il tuo locale :) Io mostro solo il principio. –

1

Nei sistemi Debian/Ubuntu, eseguire:

$ dpkg-reconfigure locales 

e selezionare il proprio locali.

52

Per me funziona, aggiungendo queste righe in cima Gemfile

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

In alcuni casi questo consiglio funziona. Ma non ha funzionato per il mio. Nel mio caso era importante impostare la codifica di bash, non rubino. –

+0

ha funzionato per me! YAAAAAAAAAAAAAAAAAAAAAAAAHOOOOOOOOOOOOOOOOOOOOOOOOOOO – slotishtype

+0

ha funzionato anche per me – ramonrails