1

Ubuntu 12.04 x64 デスクトップで Ruby を使用していますが、rbenv に問題があります。rbenv によってインストールされた Ruby のバージョンしか表示されず、Aptitude 経由でインストールされた Ubuntu のシステム Ruby が表示されません。

$> rbenv versions
  1.9.2-p290
* 1.9.3-p0 (set by /home/kurtosis/bin/ruby/rbenv/version)
  jruby-1.6.5.1

1.8.7.352-2ubuntu1そのリストにも表示されるはずです。rubyローカルまたはグローバルの ruby​​ をシステムに設定して実行しようとすると、irbプロンプトがハングします。

$> rbenv versions
  1.9.2-p290
* 1.9.3-p0 (set by /home/kurtosis/bin/ruby/rbenv/version)
  jruby-1.6.5.1
$> ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
$> rbenv global system
$> rbenv versions
  1.9.2-p290
  1.9.3-p0
  jruby-1.6.5.1
$> ruby --version
^C
$> rbenv system
rbenv: no such command `system'
$>

インストール中に何かを見逃していましたか、手動でシステム ruby​​ を rbenv などに追加しましたか?

Aptitude 経由でインストールされた Ruby 1.8.7:

$> aptitude show ruby
Package: ruby                            
State: installed
Automatically installed: no
Version: 4.8
Priority: optional
Section: interpreters
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Uncompressed Size: 36.9 k
Depends: ruby1.8 (> 1.8.7.334-1)
Suggests: ri, ruby-dev
Conflicts: irb, irb, rdoc, rdoc
Replaces: irb, irb, rdoc, rdoc
Provides: irb, rdoc
Provided by: ruby1.8
Description: Transitional package for ruby1.8
 This is a transitional package which ensures that users of ruby will use ruby1.8 in the future. It can safely be removed.
Homepage: http://www.ruby-lang.org/


$> aptitude show ruby1.8
Package: ruby1.8                         
New: yes
State: installed
Automatically installed: yes
Version: 1.8.7.352-2ubuntu1
Priority: optional
Section: interpreters
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 370 k
Depends: libc6 (>= 2.2.5), libruby1.8 (= 1.8.7.352-2ubuntu1)
Suggests: ruby1.8-examples, ri1.8
Conflicts: irb1.8 (< 1.8.7.249-3~), irb1.8 (< 1.8.7.249-3~), rdoc1.8 (< 1.8.7.249-3~), rdoc1.8 (< 1.8.7.249-3~), ri (<= 4.5), ri (<= 4.5), ri1.8 (<
           1.8.7.334-4~), ri1.8 (< 1.8.7.334-4~), ruby (<= 4.5), ruby (<= 4.5), ruby1.8
Replaces: irb1.8, irb1.8, rdoc1.8, rdoc1.8
Provides: irb1.8, rdoc1.8, ruby, ruby-interpreter
Description: Interpreter of object-oriented scripting language Ruby 1.8
 Ruby is the interpreted scripting language for quick and easy object-oriented programming.  It has many features to process text files and to do
 system management tasks (as in perl).  It is simple, straight-forward, and extensible. 

 This package provides version 1.8 series of Ruby. 

 On Debian, Ruby 1.8 is provided as separate packages.  You can get full Ruby 1.8 distribution by installing following packages. 

  ruby1.8 ruby1.8-dev ri1.8 ruby1.8-examples libtcltk-ruby1.8
Homepage: http://www.ruby-lang.org/

kurtosis@kurtosis-dm1-4050us:~/bin/projects/blogs/posterous/export$ 

道:

$ echo $PATH
/home/kurtosis/bin/ruby/rbenv/shims:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kurtosis/bin:/opt/apache/ant/default/bin:/opt/apache/maven/default/bin:/home/kurtosis/bin/ide/eclipse:/home/kurtosis/bin/ide/idea/default/bin:/opt/scala/bin/default/bin:/opt/typesafe-stack/bin:/home/kurtosis/bin/google/android/sdk/tools:/home/kurtosis/bin/google/android/sdk/platform-tools:/home/kurtosis/bin/google/android/ndk/default/:/opt/haskell/ghc/default/bin:/opt/haskell/platform/default/bin:/home/kurtosis/bin/ruby/rbenv/bin:/home/kurtosis/bin/node/node_modules/less/bin:/home/kurtosis/bin/google/go/bin:/home/kurtosis/bin/utilities/torrent/vuze:/home/kurtosis/bin/utilities/torrent/anomos:/home/kurtosis/bin/scripts:.

価値があるので、仮想マシンに Ubuntu 12.04 Server x64 を新規インストールしてテストしました。ruby-full で ruby​​ をインストールしaptitude install、rbenv をダウンロードしてインストール。同じ問題で、何らかの理由でシステム ルビが表示されません。新しいパスは次のとおりです。

/home/kurtosis/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kurtosis/.rbenv/bin:.
4

2 に答える 2

2

あなたがするときあなたは何を得る

rbenv global system
ruby -v

また

rbenv local system
ruby -v

特別なバージョン名システムは、システムRubyを使用するようにrbenvに指示します($ PATHを検索することで検出されます)。

セクション3.1を参照してください。

https://github.com/sstephenson/rbenv
于 2012-06-06T02:43:32.280 に答える
0

chrubyを試してみてください。chruby は、シェルの起動時またはディレクトリの変更時に、自動的に別の Ruby に切り替えません。デフォルトでは、chruby はシステム Ruby を使用します。

$ chruby jruby
$ chruby
   ruby-1.9.3-p327
 * jruby-1.7.0
   rubinius-2.0.0-rc1
$ which ruby
/usr/local/jruby-1.7.0/bin/ruby
$ chruby system
$ which ruby
/usr/bin/ruby
于 2012-11-21T07:22:44.283 に答える