Ruby 1.9/rails 3.0: NameError: uninitialized constant Encoding

Wiem że w ten weekend jest RuPy i pewnie nikogo tu nie będzie. Ja niestety nie jadę :frowning: :frowning: :frowning:

Jednak postanowiłem się pobawić Rails 3.0 pre. I dzieje się mi tak (w obrazkach :wink: ):

Tu wszystko gra:

[code]wojak@ubuntu:/railsapps$ irb1.9

irb(main):004:0> Encoding.default_external
=> #Encoding:UTF-8[/code]
a tu już nie:

wojak@ubuntu:/railsapps/edgerailsapp1$ ruby1.9 script/generate /home/wojak/railsapps/edgerailsapp1/vendor/gems/gems/rails-3.0.pre/lib/rails/initializable.rb:127: in `block (1 levels) in <module:Rails>': undefined method `default_external=' for Encoding:Class (NoMethodError)
i

[code]wojak@ubuntu:/railsapps/edgerailsapp1$ ruby1.9 script/console
Loading development environment (Rails 3.0.pre)

Encoding.default_external
NameError: uninitialized constant Encoding
from (irb):1[/code]
może ktoś ma jakiś pomysł, cały dzień główkuję…

gemy w wersji 1.3.5

Nie pojechałeś na RuPy i masz za swoje – Railsy będą Ci teraz pluły błędami cały weekend :stuck_out_tongue:

Pozdro z Poznania :wink:

Jezeli chodzi o ten drugi przypadek to zwroc uwage, ze pomimo uzycia “ruby1.9 script/console” to i tak odpalana jest konsola przy uzyciu ruby1.8. Potwierdzisz to sprawdzajac stala RUBY_VERSION. Zrodla script/console powiedza Ci dlaczego tak sie dzieje :).

o rzeczywiście, ale to w sumie dziwna sprawa

bo tak wyglada script/console

#!/usr/bin/env ruby1.9 require File.expand_path('../../config/application', __FILE__) require 'rails/commands/console'
a tak w konsoli:

[code]wojak@ubuntu:/railsapps/edgerailsapp1$ /usr/bin/env ruby1.9 -v
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux]
wojak@ubuntu:/railsapps/edgerailsapp1$ script/console
Loading development environment (Rails 3.0.pre)

RUBY_VERSION
=> “1.8.6”[/code]
EDIT:

wystarczyło zmienić ENV[“PATH”] w railsapps/edgerailsapp1/vendor/gems/environment.rb :slight_smile:

Plik commands/console.rb z kolei zawiera:

exec "#{options[:irb]} #{libs} --simple-prompt"

Możesz także spróbować opcji --irb=irb1.9.