2010-12-11 9 views
7

rvm、bundler、およびgemsetsに問題があります。RVMを使用すると、宝石が異なるルビーバージョンにインストールされていると、バンドルラーが適切なGemsetにインストールされません。

rvm use [email protected] 
:私は1.9.2と "Instapaperの" gemsetをルビーに切り替わり.rvmrcを持っている

rvm gemsets 

    macruby-0.7.1 [ x86_64 ] 
    ree-1.8.7-2010.02 [ x86_64 ] 
    [email protected] [ x86_64 ] 
    [email protected] [ x86_64 ] 
    [email protected] [ x86_64 ] 
    [email protected]_rails [ x86_64 ] 
    ruby-1.9.2-p0 [ x86_64 ] 
=> [email protected] [ x86_64 ] 
    [email protected] [ x86_64 ] 

:そうのような

rvm rubies 

    macruby-0.7.1 [ x86_64 ] 
    ree-1.8.7-2010.02 [ x86_64 ] 
=> ruby-1.9.2-p0 [ x86_64 ] 

そしてgemsets:私はRVMにインストール3個のルビーを持っています

私はbundlerを使いたいので、手動でbundleerをこのgemsetにインストールしても問題ありません。私が実行したとき、それはREE 1.8.7で、それは見ている宝石を使用して "バンドルのインストール"

source "http://rubygems.org" 
gem "mechanize" 
gem "highline" 
gem "www-delicious" 

は、私は私のGemfile構築

Using highline (1.6.1) 
Using nokogiri (1.4.4) 
Using mechanize (1.0.0) 
Using www-delicious (0.4.0) 
Using bundler (1.0.7) 
Your bundle is complete! It was installed into /Users/kold/.rvm/gems/ree-1.8.7-2010.02 

私は "RVM情報" を実行した場合それはすべての正しい情報を吐き出して、問題なしで手作業で宝石をインストールすることさえできる:

[email protected] [master*]$ rvm info 

[email protected]: 

    system: 
    uname:  "Darwin Kevin-Olds-MacBook-Pro.local 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 i386" 
    bash:  "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)" 
    zsh:   "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)" 

    rvm: 
    version:  "rvm 1.1.0 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]" 

    ruby: 
    interpreter: "ruby" 
    version:  "1.9.2p0" 
    date:   "2010-08-18" 
    platform:  "x86_64-darwin10.4.0" 
    patchlevel: "2010-08-18 revision 29036" 
    full_version: "ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]" 

    homes: 
    gem:   "/Users/kold/.rvm/gems/[email protected]" 
    ruby:   "/Users/kold/.rvm/rubies/ruby-1.9.2-p0" 

    binaries: 
    ruby:   "/Users/kold/.rvm/rubies/ruby-1.9.2-p0/bin/ruby" 
    irb:   "/Users/kold/.rvm/rubies/ruby-1.9.2-p0/bin/irb" 
    gem:   "/Users/kold/.rvm/rubies/ruby-1.9.2-p0/bin/gem" 
    rake:   "/Users/kold/.rvm/rubies/ruby-1.9.2-p0/bin/rake" 

    environment: 
    PATH:   "/Users/kold/.rvm/gems/[email protected]/bin:/Users/kold/.rvm/gems/[email protected]/bin:/Users/kold/.rvm/rubies/ruby-1.9.2-p0/bin:/Users/kold/.rvm/bin:/usr/local/bin:/usr/local/mysql/bin:/opt/local/bin:/Users/kold/bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin" 
    GEM_HOME:  "/Users/kold/.rvm/gems/[email protected]" 
    GEM_PATH:  "/Users/kold/.rvm/gems/[email protected]:/Users/kold/.rvm/gems/[email protected]" 
    MY_RUBY_HOME: "/Users/kold/.rvm/rubies/ruby-1.9.2-p0" 
    IRBRC:  "/Users/kold/.rvm/rubies/ruby-1.9.2-p0/.irbrc" 
    RUBYOPT:  "" 
    gemset:  "instapaper" 

私はなぜそれが ' gemsetの外側にこれらのgemをインストールします。

更新1:

$ rvm use [email protected] && which bundle 
Using /Users/kold/.rvm/gems/ruby-1.9.2-p0 with gemset instapaper 
/Users/kold/.rvm/gems/[email protected]/bin/bundle 

[email protected] [master*]$ bundle --verbose check 
Using highline (1.6.1) from /Users/kold/.rvm/gems/ree-1.8.7-2010.02/specifications/highline-1.6.1.gemspec 
Using nokogiri (1.4.4) from /Users/kold/.rvm/gems/ree-1.8.7-2010.02/specifications/nokogiri-1.4.4.gemspec 
Using mechanize (1.0.0) from /Users/kold/.rvm/gems/ree-1.8.7-2010.02/specifications/mechanize-1.0.0.gemspec 
Using www-delicious (0.4.0) from /Users/kold/.rvm/gems/ree-1.8.7-2010.02/specifications/www-delicious-0.4.0.gemspec 
Using bundler (1.0.7) from /Users/kold/.rvm/gems/[email protected]/gems/bundler-1.0.7/lib/bundler 
Your bundle is complete! It was installed into /Users/kold/.rvm/gems/ree-1.8.7-2010.02 
+0

「rvm use ruby​​[email protected] && which bundle」 – bowsersenior

+0

これは「Update 1」の下に投稿されました –

答えて

5

IRC上#bundlerの "間接的" と話した後、私たちは私のBUNDLE_PATHが/Users/kold/.rvm/gems/ree-1.8.7-2010.02に設定したと判断しました。一度私はunset BUNDLE_PATHすべてはそれがうまくいったように働いた!

+1

RVMの著者にpingして、バンドラにRVMの設定を「継承」させる方法。あなたは 'rvm -v'を使ってWayneのメールを受け取ることができます。 –

+3

BUNDLE_PATHの設定を解除する方法の詳細について、もう一つの関連する質問があります。http://stackoverflow.com/questions/5039938/bundle-install-to-development – Schneems