2013-07-31 2 views

답변

2

은 모든 보석을 복원하는 것은 여전히 ​​가능하다, 걱정하지 마세요 :

#!/usr/bin/env bash 

CURRENT_GEMSET=$(rvm current) 
CACHE_FOLDER=~/.rvm/gems/$CURRENT_GEMSET/cache 
CACHED_GEMS=$CACHE_FOLDER/*.gem 

for gem_file in $CACHED_GEMS 
do 
    GEM_FILES=$GEM_FILES' '$gem_file 
done 

gem install $GEM_FILES 

는 먼저 ~/.rvm/gems/$(rvm current)/cache 폴더를 살펴 걸릴 수 있습니다. 모든 gem가 있어야합니다.

편집 :

rvm gemset empty 

는 gemset에 대한 모든 설치 보석을 제거합니다. 하지만 보석은 여전히 ​​~/.rvm/gems/$(rvm current)/cache 폴더에 있습니다 (예 : ~/.rvm/gems/ruby-2.0.0-p247/cache, ~/.rvm/gems/[email protected]_gemset/cache). 여전히 설치할 수 있습니다. 스크립트에 대한 설명이

비트 :

  1. rvm current 인쇄 현재 루비 버전 및 gemset의 이름 (rvm usage current에서) 사용. 복원하려는 gemset을 선택하려면 먼저 rvm gemset use을 호출하십시오.
  2. ~/.rvm/gems/$(rvm current)/cache은 현재 gemset의 캐시 폴더이며 $GEM_HOME/cache과 동일합니다.
  3. ~/.rvm/gems/$(rvm current)/cache/*.gem은 캐시 폴더에있는 보석에 대한 regexp입니다.
  4. 루프 파일 이름을 통해 단일 문자열

    for gem_file in $CACHED_GEMS 
    do 
        GEM_FILES=$gem_file' '$GEM_FILES 
    done 
    
  5. gem install $GEM_FILES 재설치 당신에게 보석에 그들을 연결하여.

1

이 뜻입니까?

[email protected]:~/RailsWork/Achivity$ ruby -v 
ruby 2.0.0dev (2013-01-07 trunk 38733) [i686-linux] 
[email protected]:~/RailsWork/Achivity$ rvm @global do gem list 
*** LOCAL GEMS *** 
bundler (1.3.5) 
bundler-unload (1.0.1) 
rake (10.1.0) 
rubygems-bundler (1.2.0) 
rvm (1.11.3.8) 

=====은 ======

[email protected]:~/RailsWork/Achivity$ rvm default do gem list 
*** LOCAL GEMS *** 
actionmailer (4.0.0, 3.2.13) 
actionpack (4.0.0, 3.2.13) 
actionpack-action_caching (1.0.0) 
actionpack-page_caching (1.0.0) 
activemodel (4.0.0, 3.2.13) 
activerecord (4.0.0, 3.2.13) 
activerecord-deprecated_finders (1.0.3) 
activerecord-postgresql-adapter (0.0.1) 
activeresource (3.2.13) 
activesupport (4.0.0, 3.2.13) 
arel (4.0.0, 3.0.2) 
atomic (1.1.10) 
bcrypt-ruby (3.0.1) 
builder (3.1.4, 3.0.4) 
bundler (1.3.5) 
bundler-unload (1.0.1) 
capybara (2.1.0) 
childprocess (0.3.9) 
climate_control (0.0.3) 
cocaine (0.5.1) 
coffee-rails (4.0.0, 3.2.2) 
coffee-script (2.2.0) 
coffee-script-source (1.6.3, 1.6.2) 
commonjs (0.2.6) 
database_cleaner (1.0.1) 
devise (3.0.0.rc, 2.2.4, 1.5.4) 
diff-lcs (1.2.4) 
erubis (2.7.0) 
execjs (1.4.0) 
factory_girl (4.2.0) 
factory_girl_rails (4.2.1) 
ffi (1.9.0) 
hike (1.2.3) 
i18n (0.6.4, 0.6.1) 
jar_wrapper (0.1.7) 
jbuilder (1.4.2) 
journey (1.0.4) 
jquery-rails (3.0.2, 3.0.1) 
json (1.8.0) 
less (2.3.2) 
less-rails (2.3.3) 
libv8 (3.11.8.17 x86-linux) 
mail (2.5.4) 
mime-types (1.23) 
mini_portile (0.5.0) 
minitest (4.7.5) 
multi_json (1.7.7) 
mysql2 (0.3.11) 
nokogiri (1.6.0) 
orm_adapter (0.4.0, 0.0.7) 
paperclip (3.4.2) 
pg (0.15.1) 
polyglot (0.3.3) 
protected_attributes (1.0.3) 
rack (1.5.2, 1.4.5) 
rack-cache (1.2) 
rack-ssl (1.3.3) 
rack-test (0.6.2) 
rails (4.0.0) 
rails-observers (0.1.1) 
railties (4.0.0, 3.2.13) 
rake (10.1.0) 
rdoc (3.12.2) 
ref (1.0.5) 
rspec-core (2.13.1) 
rspec-expectations (2.13.0) 
rspec-mocks (2.13.1) 
rspec-rails (2.13.2) 
rubygems-bundler (1.2.0) 
rubyzip (0.9.9) 
rvm (1.11.3.8) 
sass (3.2.9) 
sass-rails (4.0.0) 
sdoc (0.3.20) 
selenium (0.2.10) 
selenium-webdriver (2.33.0) 
shoulda-matchers (2.2.0) 
sprockets (2.10.0, 2.2.2) 
sprockets-rails (2.0.0) 
sqlite3 (1.3.7) 
therubyracer (0.11.4) 
thor (0.18.1) 
thread_safe (0.1.0) 
tilt (1.4.1) 
treetop (1.4.14) 
turbolinks (1.2.0) 
twitter-bootstrap-rails (2.2.7) 
tzinfo (0.3.37) 
uglifier (2.1.1) 
warden (1.2.1) 
websocket (1.0.7) 
xpath (2.0.0) 
zip (2.0.2) 

업데이트 그러나 그들 모두는 Gemfile에서입니다.

+0

'글로벌'입니다. 나는'디폴트'에서'json'과'bigdecimal' 보석이 있었음을 기억하고 있습니다. –

+0

@AlexFedoseev 내가 볼 수 있듯이, 당신은 bundler와 함께 설치 한 자신 만의 설치 보석이 있습니다. (예를 들어 Rails 앱을 만들고 번들 설치를 실행했습니다.) 그러나 원한다면 나는 당신을 업데이트 된 버전의 게시물로 보여줄 수 있습니다. – AKovtunov

+0

Pls는 이것을 점검 할 것입니다. 다시 한 번 감사드립니다! –