RVM에 문제가 있습니다. 일반적으로 프로젝트 별 보석 세트를 사용합니다. 그러나 최근에 @global gemset에 보석을 설치하면 특정 프로젝트에서 일할 때 사용할 수 없습니다. 여기에 hpricot gem을 설치하려고 시도한 예가 있습니다. 이것은 보석을 설치하고 신선한 쉘을 시작한 직후입니다.RVM - @global gemset의 보석을 사용할 수 없음
$ rvm use ruby-1.9.2
Using /home/bshaver/.rvm/gems/ruby-1.9.2-p180
$ gem list
*** LOCAL GEMS ***
bundler (1.0.12)
hpricot (0.8.4)
rake (0.8.7)
$ rvm use [email protected]
Using /home/bshaver/.rvm/gems/ruby-1.9.2-p180 with gemset myproject-gems
$ gem list | grep hpricot
$ rvm info
[email protected]:
system:
uname: "Linux hawkeye.localdomain 2.6.35.12-88.fc14.x86_64 #1 SMP Thu Mar 31 21:21:57 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux"
bash: "/bin/bash => GNU bash, version 4.1.7(1)-release (x86_64-redhat-linux-gnu)"
zsh: " => not installed"
rvm:
version: "rvm 1.5.2 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]"
ruby:
interpreter: "ruby"
version: "1.9.2p180"
date: "2011-02-18"
platform: "x86_64-linux"
patchlevel: "2011-02-18 revision 30909"
full_version: "ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]"
homes:
gem: "/home/bshaver/.rvm/gems/[email protected]"
ruby: "/home/bshaver/.rvm/rubies/ruby-1.9.2-p180"
binaries:
ruby: "/home/bshaver/.rvm/rubies/ruby-1.9.2-p180/bin/ruby"
irb: "/home/bshaver/.rvm/rubies/ruby-1.9.2-p180/bin/irb"
gem: "/home/bshaver/.rvm/rubies/ruby-1.9.2-p180/bin/gem"
rake: "/home/bshaver/.rvm/gems/[email protected]/bin/rake"
environment:
PATH: "/home/bshaver/.rvm/gems/[email protected]/bin:/home/bshaver/.rvm/gems/[email protected]/bin:/home/bshaver/.rvm/rubies/ruby-1.9.2-p180/bin:/home/bshaver/.rvm/bin:/usr/local/java/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/real/RealPlayer/:/home/bshaver/bin:/home/bshaver/test-root/bin:/home/bshaver/Documents/scripts/"
GEM_HOME: "/home/bshaver/.rvm/gems/[email protected]"
GEM_PATH: "/home/bshaver/.rvm/gems/[email protected]:/home/bshaver/.rvm/gems/[email protected]"
MY_RUBY_HOME: "/home/bshaver/.rvm/rubies/ruby-1.9.2-p180"
IRBRC: "/home/bshaver/.rvm/rubies/ruby-1.9.2-p180/.irbrc"
RUBYOPT: ""
gemset: "myproject-gems"
Hpricot을이 프로젝트 gemset의 내부에 사용하지 못할 이유가 뭘까요? 나는 번들과 같은 문제를 가지고 있었지만 결국 gemset에 다시 설치되었습니다.
감사합니다 ..
감사의 말 에릭에게 감사드립니다. 내가 너의 말을 정확히 이해한다면, 나를 위해 일하지 않는다. 'hpricot '을 Gemfile에 추가하면'bundle check'을 넘겨 주어야하지만, Gem_PATH에 missing gem이 설치되어 있어도 ** Gemfile의 의존성을 만족시킬 수 없다. – shakerlxxv
gemfile에 추가 한 후에도'bundle install'을 실행해야합니다. 번들러는 각 프로젝트에 대해 별도의 컨텍스트를 만들고 해당 폴더 만 확인합니다. 'gem install'으로 설치 한 보석은 gemfile에 넣고'bundle install'을 실행하기 전까지는 사용할 수 없습니다. –
아,하지만 '번들 설치'를 실행하면 누락 된 보석의 두 번째 인스턴스가 프로젝트 별 gemset에 설치됩니다. RVM 참조에 따르면 [@global] (https://rvm.beginrescueend.com/gemsets/global/)은 프로젝트간에 젬의 복사본 하나를 공유 할 수 있어야합니다. 그러나 내 보석이 설치되는 2 개의 디렉토리를 찾으려고 할 때 첫 번째 설치 디렉토리가 ** @ global ** gemset 아래에 없었기 때문에 그 해답이 제시되었습니다. – shakerlxxv