Почистете моята среда за разработка на RoR

Започнах разработката на RoR преди няколко месеца и тъй като съм нов за Mac...

Времето лети и сега имам много различни рубинени версии, релсови версии и скъпоценни камъни, разположени навсякъде......И в момента инсталирах rvm и нещата станаха още по-лоши, всичко се обърка!

И така започнах да искам да изчистя всички неща и да използвам rvm отново! Искам да деинсталирам всички скъпоценни камъни, всички релси и всички версии на ruby, с изключение на тази по подразбиране на системата (много старата, родена с mac).

Или други по-добри решения или предложения!? Моля помогнете!

има информация, която мисля, че ще бъде полезна:

which -a ruby

/opt/local/bin/ruby
/opt/local/bin/ruby
/usr/local/bin/ruby
/usr/bin/ruby
/usr/local/bin/ruby

which -a rails

/usr/local/bin/rails
/usr/bin/rails
/usr/local/bin/rails

which -a compass # simliar for rspec and many other gems

/usr/local/bin/compass
/usr/local/bin/compass

gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.9, 2.3.5, 2.3.4)
actionpack (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.9, 2.3.5, 2.3.4)
activemodel (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2)
activerecord (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.9, 2.3.5, 2.3.4)
activeresource (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.9, 2.3.5, 2.3.4)
activesupport (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.9, 2.3.5, 2.3.4)
addressable (2.2.2)
arel (2.0.6, 1.0.1, 1.0.0.rc1)
authlogic (2.1.6, 2.1.3)
aws-s3 (0.6.2)
base32 (0.1.2)
block_helpers (0.3.3)
bluecloth (2.0.9)
bowline (0.9.4)
bowline-bundler (0.0.4)
bson (1.1.2)
builder (2.1.2)
bundler (1.0.2, 1.0.0)
compass (0.10.6)
crack (0.1.7)
devise (1.1.3)
diff-lcs (1.1.2)
differ (0.1.1)
dynamic_form (1.1.3)
engineyard (1.3.1)
engineyard-serverside-adapter (1.3.3)
erubis (2.6.6)
escape (0.0.4)
extlib (0.9.15)
facebooker (1.0.75)
faker (0.3.1)
faraday (0.5.3, 0.5.2)
fast_gettext (0.5.10, 0.4.17)
fastercsv (1.5.3)
fastthread (1.0.7)
ffi (0.6.3)
formatize (1.0.1)
formtastic (1.1.0, 1.0.1)
gemcutter (0.5.0)
gettext (2.1.0)
git (1.2.5)
gosu (0.7.25 universal-darwin)
haml (3.0.24, 3.0.23, 3.0.22, 3.0.21, 3.0.18)
haml-rails (0.3.4)
heroku (1.10.13, 1.9.13)
highline (1.5.2)
hirb (0.3.4, 0.3.3)
hpricot (0.8.2)
i18n (0.5.0, 0.4.2, 0.4.1, 0.3.7)
jeweler (1.4.0)
json (1.4.6)
json_pure (1.4.3)
linkedin (0.1.8)
locale (2.0.5)
mail (2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.7, 2.2.6.1)
memcache-client (1.8.5)
meta_search (0.9.8, 0.9.7.2, 0.9.7.1, 0.9.6, 0.9.4)
mime-types (1.16)
mongo (1.1.2)
mongoid (2.0.0.beta.20)
multi_json (0.0.5)
multipart-post (1.0.1)
mysql (2.8.1)
mysql2 (0.2.6, 0.2.4, 0.2.3)
net-ldap (0.1.1)
nice-ffi (0.4)
nokogiri (1.4.4, 1.4.2)
oa-basic (0.1.6)
oa-core (0.1.6)
oa-enterprise (0.1.6)
oa-oauth (0.1.6)
oa-openid (0.1.6)
oauth (0.4.4, 0.4.3, 0.4.1)
oauth-plugin (0.4.0.pre1)
oauth2 (0.1.0)
omniauth (0.1.6)
paperclip (2.3.6, 2.3.4, 2.3.1.1)
passenger (2.2.12)
polyglot (0.3.1)
pyu-ruby-sasl (0.0.3.2)
querybuilder (0.9.2, 0.5.9)
rack (1.2.1, 1.1.0, 1.0.1)
rack-cache (0.5.3)
rack-cache-purge (0.0.2, 0.0.1)
rack-mount (0.6.13)
rack-openid (1.2.0)
rack-test (0.5.6, 0.5.4)
railroady (0.11.2)
rails (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2, 2.3.9, 2.3.5, 2.3.4)
railties (3.0.3, 3.0.1, 3.0.0, 3.0.0.rc2)
rake (0.8.7)
RedCloth (3.0.4)
rest-client (1.6.1)
roxml (3.1.5)
rscribd (1.2.0)
rspec (2.3.0, 2.2.0, 2.1.0, 2.0.1)
rspec-core (2.3.0, 2.2.1, 2.1.0, 2.0.1)
rspec-expectations (2.3.0, 2.2.0, 2.1.0, 2.0.1)
rspec-mocks (2.3.0, 2.2.0, 2.1.0, 2.0.1)
rspec-rails (2.3.0, 2.2.0, 2.1.0, 2.0.1)
ruby-hmac (0.4.0)
ruby-mysql (2.9.3)
ruby-ole (1.2.10.1)
ruby-openid (2.1.8)
ruby-openid-apps-discovery (1.2.0)
ruby-recaptcha (1.0.2, 1.0.0)
ruby-sdl-ffi (0.3)
ruby-termios (0.9.6)
ruby_parser (2.0.5)
rubyforge (2.0.4)
rubygame (2.6.4)
rubygems-update (1.3.7)
rubyless (0.7.0, 0.6.0, 0.3.5)
rubyntlm (0.1.1)
rubyzip2 (2.0.1)
scribd_fu (2.0.6)
searchlogic (2.4.27, 2.4.23)
sequel (3.16.0, 3.15.0, 3.13.0)
sexp_processor (3.0.5)
shoulda (2.11.3)
sinatra (1.0)
slim (0.8.0)
slim-rails (0.1.2)
spreadsheet (0.6.4.1)
sqlite3-ruby (1.3.2, 1.3.1)
ssl_requirement (0.1.0)
subdomain-fu (1.0.0.beta2, 0.5.4)
supermodel (0.1.4)
syntax (1.0.0)
taps (0.3.13, 0.3.11)
templater (1.0.0)
temple (0.1.6)
text-format (1.0.0)
text-hyphen (1.0.0)
thor (0.14.6, 0.14.4, 0.14.3, 0.14.1, 0.14.0)
tilt (1.1)
treetop (1.4.9, 1.4.8)
tzinfo (0.3.23)
uuidtools (2.1.1, 2.0.0)
validates_timeliness (3.0.0.beta.4, 2.3.1)
warden (0.10.7)
will_paginate (3.0.pre2, 2.3.15, 2.3.14)
xml-simple (1.0.12)
ya2yaml (0.30)
yajl-ruby (0.7.8, 0.7.7)
yamltest (0.7.0)
zena (0.16.9, 0.16.8)

======

Изпълних sudo rvm implode и sudo rm -rf ~/.rvm, така че сега няма rvm.

gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.2.0]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /usr/local/lib/ruby/gems/1.8
     - /Users/peter/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://rubygems.org/", "http://gems.github.com"]
  - REMOTE SOURCES:
     - http://rubygems.org/
     - http://gems.github.com

===

ls -al /usr/local/lib/

total 5704
drwxr-xr-x  7 root  wheel      238 Jun  1  2010 .
drwxr-xr-x  9 root  wheel      306 Dec 15 16:20 ..
-rw-r--r--  1 root  wheel  1717208 Jun  1  2010 libruby-static.a
-rwxr-xr-x  1 root  wheel  1191880 Jun  1  2010 libruby.1.8.7.dylib
lrwxrwxrwx  1 root  wheel       19 Jun  1  2010 libruby.1.8.dylib -> libruby.1.8.7.dylib
lrwxrwxrwx  1 root  wheel       19 Jun  1  2010 libruby.dylib -> libruby.1.8.7.dylib
drwxr-xr-x  6 root  wheel      204 Jun  1  2010 ruby

person PeterWong    schedule 28.12.2010    source източник
comment
Моля, добавете резултата от rvm info и gem env.   -  person the Tin Man    schedule 28.12.2010


Отговори (1)


Уау, хм... ти беше... ах... зает. Опитът да изчистим нещата ще бъде предизвикателство и вероятно ще бъде повече от това, с което можем да помогнем, освен ако не можем да надникнем в много от системните директории и конфигурацията на вашия акаунт.

Първият ми въпрос е: Правили ли сте промени в Ruby по подразбиране на системата в /usr/bin/ruby? Ако е така, аз лично просто бих архивирал данните, които искам да запазя, и бих изтрил устройството и започнал отначало.

Пускали ли сте gem clean? Това ще премахне куп боклук, но също така вероятно ще повдигне много въпроси относно зависимостите и, когато бъде направено, може да остави нещата счупени или непроменени - трудно е да се каже с този брой скъпоценни камъни и ревизии какво ще се случи.

Можете да принудите gem да деинсталира всички скъпоценни камъни, като използвате нещо като:

gem list | awk '{print $1}' | xargs gem --all --quiet uninstall

Просто се уверете коя версия на Ruby работи, защото gem ще действа срещу работещия в момента Ruby. Използвайте which ruby, за да разберете.

person the Tin Man    schedule 28.12.2010
comment
Не мисля, че съм променил ruby ​​на системата. Стартирах gem clean и премахнах старите версии на много скъпоценни камъни. Но искам да премахна всички и след това да го преинсталирам отново... - person PeterWong; 28.12.2010
comment
Безопасен ли съм просто да направя sudo rm -rf всички ruby ​​с изключение на този в /usr/bin/ruby? - person PeterWong; 28.12.2010
comment
Да, ако го правите МНОГО методично и внимателно. Бихте могли да изтриете и цялото си устройство с тази команда, което би било един от онези ох*т моменти. - person the Tin Man; 28.12.2010
comment
Прегледайте своя PATH и го почистете също. Също така се уверете, че /usr/local/bin няма софтлинкове или остатъци от Ruby, който сте инсталирали. Трябва да положите усилия, за да премахнете остатъците, поради което казах, че може да е по-лесно да изтриете и инсталирате отново. - person the Tin Man; 28.12.2010
comment
cmd за принудително деинсталиране даде следната грешка: ERROR: Invalid option: --all. See 'gem --help'. - person PeterWong; 28.12.2010
comment
--all трябва да каже на gem да премахне всички версии. Можете да го премахнете и да изпълните командния низ няколко пъти, докато нищо не бъде върнато от gem list. Може да искате да добавите --ignore-dependencies. - person the Tin Man; 28.12.2010
comment
след премахване на --all, --quite също предизвика грешка. Премахнах --all и --quite и добавих sudo преди gem uninstall и деинсталирах скъпоценните камъни успешно! Как да разбера, че всички скъпоценни камъни във всички версии на ruby ​​са деинсталирани? Как да премина към друга версия на ruby??? (Исках да ви дам 1 милион гласа за!) - person PeterWong; 28.12.2010
comment
За да проверите всички скъпоценни камъни във всички версии на Ruby, ще трябва да превключите на всяка версия на Ruby на свой ред и да стартирате gem list. За да превключите към друга версия на Ruby, коригирайте вашия PATH, така че пътят на Ruby да е първи в списъка. - person the Tin Man; 28.12.2010
comment
Също така проверете /usr/local/share, /usr/local/lib, ... за бездомни файлове; същото важи и за подобни директории под /opt. Пепеляшка (github.com/atmos/cinderella) ще ви помогне да поддържате нещата чисти, след като започнете отначало. - person mu is too short; 28.12.2010
comment
@mu е твърде кратък, /usr/local/share изглежда не съдържа нищо, свързано с ruby, но има файлове в /usr/local/lib, бих публикувал файловете на моя въпрос. - person PeterWong; 28.12.2010