Очистить мою среду разработки RoR

Я начал разработку RoR несколько месяцев назад, и будучи новичком в Mac...

Время летит, и теперь у меня есть много разных версий ruby, rails и gems, разбросанных повсюду...... И в настоящее время я установил 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
Я не думаю, что я изменил рубин системы. Я запустил 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 перед удалением драгоценных камней и успешно удалил драгоценные камни! Как я узнаю, что все драгоценные камни во всех версиях 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 кажется, не содержит ничего, связанного с рубином, но в /usr/local/lib есть файлы, я бы отправил файлы на свой вопрос. - person PeterWong; 28.12.2010