Ski*_*ick 10 ubuntu ruby-on-rails ruby-1.9
新的消息
这是发生的事情rails console:
Loading development environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > RUBY_VERSION
=> "1.8.7"
Run Code Online (Sandbox Code Playgroud)
这里有一些非常奇怪的东西 - 提示说1.9.2但是RUBY_VERSION显示1.8.7.
我正在使用RVM,但我在Ubuntu上遇到Rails问题.
$ which ruby
/home/nick/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
$rvm list
rvm rubies
=> ruby-1.9.2-p290 [ i686 ]
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,gem env我会得到
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.11
- RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
- INSTALLATION DIRECTORY: /home/nick/.rvm/gems/ruby-1.9.2-p290
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- EXECUTABLE DIRECTORY: /home/nick/.rvm/gems/ruby-1.9.2-p290/bin
Run Code Online (Sandbox Code Playgroud)
当我运行Rails时,如果我这样做puts RUBY_VERSION输出1.8.7.
事实上,在irb,RUBY_VERSION给予1.9.2但在rails console其中给出1.8.7.
主要的问题是当它到达我的JSON样式的哈希文字时它失败了.
我尝试过各种卸载rvm,rails,bundler等的方法,但似乎没什么用.有任何想法吗?
这是输出rvm info:
ruby-1.9.2-p290:
system:
uname: "Linux ubie 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:50:42 UTC 2011 i686 i686 i386 GNU/Linux"
bash: "/bin/bash => GNU bash, version 4.2.10(1)-release (i686-pc-linux-gnu)"
zsh: " => not installed"
rvm:
version: "rvm 1.8.6 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"
ruby:
interpreter: "ruby"
version: "1.9.2p290"
date: "2011-07-09"
platform: "i686-linux"
patchlevel: "2011-07-09 revision 32553"
full_version: "ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]"
homes:
gem: "/home/nick/.rvm/gems/ruby-1.9.2-p290"
ruby: "/home/nick/.rvm/rubies/ruby-1.9.2-p290"
binaries:
ruby: "/home/nick/.rvm/rubies/ruby-1.9.2-p290/bin/ruby"
irb: "/home/nick/.rvm/rubies/ruby-1.9.2-p290/bin/irb"
gem: "/home/nick/.rvm/rubies/ruby-1.9.2-p290/bin/gem"
rake: "/home/nick/.rvm/gems/ruby-1.9.2-p290/bin/rake"
environment:
PATH: "/home/nick/.rvm/gems/ruby-1.9.2-p290/bin:/home/nick/.rvm/gems/ruby-1.9.2-p290@global/bin:/home/nick/.rvm/rubies/ruby-1.9.2-p290/bin:/home/nick/.rvm/bin:/home/nick/local/node/bin:/home/nick/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
GEM_HOME: "/home/nick/.rvm/gems/ruby-1.9.2-p290"
GEM_PATH: "/home/nick/.rvm/gems/ruby-1.9.2-p290:/home/nick/.rvm/gems/ruby-1.9.2-p290@global"
MY_RUBY_HOME: "/home/nick/.rvm/rubies/ruby-1.9.2-p290"
IRBRC: "/home/nick/.rvm/rubies/ruby-1.9.2-p290/.irbrc"
RUBYOPT: ""
gemset: ""
Run Code Online (Sandbox Code Playgroud)
但仍然gem env告诉我,在RubyGems环境中,Ruby版本是1.8.7.我只是不明白.
你应该设置默认的ruby,如:
rvm use 1.9.2 --default
Run Code Online (Sandbox Code Playgroud)
这将使用rvm one覆盖系统安装的ruby.
更新:
notme,谢谢你的评论
默认情况下,前导双连字符对于设置默认红宝石很重要.
下面列出详细和自我解释的例子,享受:
$ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux]
$rvm list
rvm rubies
ruby-1.9.2-p290 [ i386 ]
$rvm use 1.9.2 --default
Using /usr/local/rvm/gems/ruby-1.9.2-p290
$rvm list default
Default Ruby (for new shells)
ruby-1.9.2-p290 [ i386 ]
$rvm use default
Using /usr/local/rvm/gems/ruby-1.9.2-p290
$ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
$rvm list
rvm rubies
=> ruby-1.9.2-p290 [ i386 ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4988 次 |
| 最近记录: |