2011-08-17 35 views
23

Tôi đang cố triển khai ứng dụng Rails 3.0 của mình. Tôi sử dụng rvm và ruby ​​1.9.2 (p 180 hoặc p 290 - không có sự khác biệt) trên máy chủ sản xuất FreeBSD. Khi tôi chạy bó lệnh, tôi nhận được ngoại lệ này trên tất cả: git đá quý (có vẻ như ngoại lệ mà được nâng lên chỉ khi tôi sử dụng phiên bản cạnh với: Tùy chọn git trong Gemfile):Khi gói chạy có chuỗi byte không hợp lệ trong 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>' 

gemfile của tôi:

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 thật khủng khiếp với các sự cố mã hóa của nó ... bạn có thể trợ giúp một lần nữa không?

+0

Vấn đề là ở đâu đó trong YAML, bởi vì nếu tôi không sử dụng các phiên bản ngọc cạnh, tôi nhận được một psych yaml ngoại lệ. Ý tưởng nào? Tôi phải triển khai nó ngay hôm nay hoặc chết!) –

Trả lời

36
export LANG=ru_RU.UTF-8 

export LC_ALL=ru_RU.UTF-8 
+16

Nếu bạn không nói tiếng Nga nhưng bạn nói tiếng Anh, hãy sử dụng en_US.UTF-8 – gamecreature

+1

Tất nhiên, sử dụng ngôn ngữ của riêng bạn :) Tôi chỉ hiển thị nguyên tắc. –

1

Trong các hệ thống Debian/Ubuntu, chạy:

$ dpkg-reconfigure locales 

Và chọn miền địa phương của bạn.

52

Đối với tôi hoạt động, thêm dòng này để đầu Gemfile

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

Đối với một số trường hợp mà lời khuyên hoạt động. Nhưng không làm việc cho tôi. Trong trường hợp của tôi, điều quan trọng là phải đặt mã hóa bash chứ không phải ruby. –

+0

Làm việc cho tôi! YAAAAAAAAAAAAAAAAAAAAAAAHOOOOOOOOOOOOOOOOOOOOOOOOOOO – slotishtype

+0

đã làm việc cho tôi quá – ramonrails

Các vấn đề liên quan