Как сбросить все, что связано с Ruby, до заводских настроек в Mac OS High Sierra

После ряда злоключений, связанных с RVM, Ruby и Rails на моем новом ноутбуке, я был полностью сбит с толку. Я удалил RVM, но все пути, версии и разрешения перепутались.

Я искал и не нашел нужных исправлений. Кажется, что каждое решение усугубляет проблему.

Я хочу начать все заново, не сбрасывая компьютер до заводских настроек. Как я могу сбросить только вещи, связанные с Ruby, такие как Ruby, Rails и т. д., Не стирая данные на моем компьютере?

Переустановка ОС кажется очевидным ответом. Почему ты не хочешь этого делать? В качестве альтернативы, если у вас есть резервная копия, восстановите ее до того состояния, в котором она была до того, как вы внесли изменения, которые хотите отменить. Я не вижу у тебя особого выбора.

Cary Swoveland 17.12.2018 21:29

Думаю, мне это не казалось очевидным, поэтому я и спросил. Но если нет возможности просто сбросить Ruby и т. д., Тогда я полагаю, что мне нужно. Спасибо за комментарий.

Forrest 17.12.2018 22:28

Об этом плохо спрашивают. Вы просите нас представить все, что вы могли бы сделать, не сообщая нам ничего полезного. Apple устанавливает систему Ruby для собственного использования; Можно запускать сценарии против него, но его изменение может нарушить процессы, установленные Apple. Вместо этого ВСЕГДА используйте диспетчер песочницы, такой как rbenv, RVM или asdf, для установки отдельного, изменяемого пользователем Ruby. И никогда не используйте sudo, пока вы точно не знаете, что он делает и что будет делать команда; sudo похож на скальпель хирурга и способен нанести серьезный ущерб в чужих руках, особенно при работе с системными файлами.

the Tin Man 06.04.2020 21:40
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
6
3
3 726
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

rm -rf ~/.rvm, затем отредактируйте ~/.bash_profile, чтобы удалить source $HOME/.rvm/scripts/rvm.

Затем вы можете перезапустить RVM с нуля, следуя подробным инструкциям по установке на https://rvm.io/rvm/install.

Как я уже упоминал выше, я уже удалил RVM. Это не моя проблема - я бы хотел полностью сбросить Ruby и все, что с ним связано, так, чтобы оно было «из коробки». RVM давно ушел, но куча других тонких вещей вышла из строя.

Forrest 17.12.2018 21:10

То, что предложил @anothermh, будет работать нормально. Какие «тонкие» вещи вас беспокоят?

t56k 17.12.2018 21:22

Я уже делал это, я не уверен, как они помогают, когда RVM уже был удален таким образом. Я столкнулся с кругом проблем и ошибок с путями, разрешениями, сборщиком и т. д. Я потратил несколько часов на чтение потоков переполнения и пробу вещей в терминале, и я уверен, что нет простого решения. Вот почему я надеялся на помощь с вышеуказанным вопросом.

Forrest 17.12.2018 21:27

@Forrest Тогда, возможно, вам стоит лучше объяснить свою проблему, потому что в вашем вопросе говорится, что у вас были проблемы с RVM, Ruby и Rails, и поскольку RVM не пишет за пределами ~ / .rvm, ЕДИНСТВЕННОЕ, что вам нужно сделать, это удалить его. . Если у вас возникла проблема с система Ruby, тогда быть конкретными. испортил - это не конкретный.

anothermh 17.12.2018 23:08

Я объяснил, что я уже удалил RVM и хотел узнать, как удалить Ruby и любое соответствующее программное обеспечение из моей системы, чтобы переустановить его с настройками по умолчанию. Я не сказал, что RVM была единственной причиной моих проблем. Это было очень ясно, но я не ожидал, в какой степени люди подумают, что я ошибаюсь, и захотят, чтобы я задавал другие вопросы. Извинения.

Forrest 17.12.2018 23:41

Уровень детализации в вашем вопросе заставил меня поверить, что вы, вероятно, не знаете, как правильно удалить RVM, поскольку вы сказали, что удалили его, но все еще испытываете проблемы с Ruby и Rails (что представляет собой серию драгоценных камней, что снова указывает на отсутствие опыта по делу). В Stackoverflow вам нужно сообщить быть конкретными о ваших проблемах. Слова испортил, злоключения, не в порядке, сбит с толку - это совершенно бессмысленно. Сказать проблема усугубляется, но затем не описать проблему, означает, что никто не сможет помочь вам, пока вы не поможете себе.

anothermh 17.12.2018 23:51

Я был * конкретен * - я задал этот вопрос: «Я хочу начать все заново, не сбрасывая мой компьютер до заводских настроек. Как я могу сбросить только вещи, связанные с рубином (рубин, рельсы и т. д.), Не стирая мой компьютер? " Я получил снисходительность, антагонизм и довольно очевидную путаницу в отношении природы отношения языка к значению.

Forrest 18.12.2018 00:07

На этом этапе все, что я могу порекомендовать, - это прочитать Как мне задать хороший вопрос? и, возможно, взять тур. Я уже несколько часов пытаюсь помочь тебе. Я не уверен, что могу чем-то еще помочь, если вы не желаете предоставлять полезную информацию о проблеме.

anothermh 18.12.2018 00:25

какой рубин возвращает /Users/coreyholmes/.rbenv/shims/ruby, который я не уверен, как сбросить / исправить. Любые идеи?

Corey Holmes 10.10.2019 05:08
Ответ принят как подходящий

Я бы закрыл и снова открыл окно вашего терминала, прежде чем вы начнете все это, чтобы убедиться, что у вас не загружены старые переменные env.

Общие вещи:

  • Запустите env | grep RUBY, env | grep RVM и найдите все оставшиеся переменные среды, которые вы, возможно, установили.
  • То же и для env | grep GEM. Иногда вы увидите GEM_PATH, GEM_HOME и т. д., Но это не обязательно для системного ruby.
  • Загляните в свои файлы ~/.bash_profile, ~/.bashrc и ~/.profile и посмотрите, добавили ли вы что-нибудь из rvm

Если вы используете macOS Mojave (сравниваю со своей системой):

which ruby должен вернуть /usr/bin/ruby. Если этого не происходит, значит, вам мешает что-то еще. Опубликуйте, что это такое, и мы сможем это исправить.

Запуск /usr/bin/ruby --version должен вернуть ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

Разрешения для системного рубина:

-r-xr-xr-x  1 root  wheel  52016 Nov 30 02:38 /usr/bin/ruby

Это должно быть что-то вроде sudo chmod 555 /usr/bin/ruby, чтобы исправить это, если у вас есть разница. Если у вас разные владельцы, вам понадобится sudo chown root:wheel /usr/bin/ruby.

Вы также захотите проверить which gem и посмотреть, сообщает ли он о /usr/bin/gem. Разрешения должны быть такими же, как у /usr/bin/ruby. /usr/bin/gem --version должен вернуть 2.5.2.3

Запуск /usr/bin/gem env должен вернуть что-то похожее на то, что показано ниже. Замени jay (пользователь моего компьютера) на свой

RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.2.3
  - RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [universal.x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.3.0
  - USER INSTALLATION DIRECTORY: /Users/jay/.gem/ruby/2.3.0 # this doesn't matter much
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /Users/jay/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-18
  - GEM PATHS:
     - /Library/Ruby/Gems/2.3.0
     - /Users/jay/.gem/ruby/2.3.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => false
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["https://rubygems.org/"]
     - "benchmark" => true
     - "gem" => "--document=yri"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/bin
     - /Users/jay/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /opt/X11/bin

Оттуда у вас есть два каталога, которые вы, вероятно, захотите посмотреть:

Запустите ls -al /Library/Ruby/. Вы должны увидеть это:

drwxr-xr-x   3 root  wheel    96 Aug 17 18:59 Gems
drwxr-xr-x   3 root  wheel    96 Aug 17 18:59 Site

Вам может потребоваться chmod / chown для каждого из этих каталогов (с -R для рекурсивного)

Когда вы закончите, обратите внимание, что запуск /usr/bin/gem install bundler и gem install bundler (при условии, что вы не установили новый менеджер версий Ruby) должен привести к ошибке, как показано ниже (это означает, что вы правильно перенастроили разрешения).

Fetching: bundler-1.17.2.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

Вы увидите, что в некоторых руководствах упоминается изменение этих разрешений или запуск sudo для установки драгоценных камней, но я не рекомендую это делать. Мой любимый менеджер версий Ruby - asdf, на который стоит взглянуть. Вы установите ядро ​​и рубиновый плагин.

Это должно приблизить вас. Если вы видите, что что-то еще не так, опубликуйте сообщение об ошибке.

В macOS Catalina очень разные ограничения разрешений, поэтому я подозреваю, что это не сработает.

the Tin Man 06.04.2020 21:34

OP указал macOS High Sierra в исходном вопросе. Мне еще не приходилось делать это на macOS Catalina, но вы правы, шаги (и пути), вероятно, не совсем одинаковы (но должны быть похожи)

Jay Dorsey 06.04.2020 23:12

Каталина внесла серьезные изменения в защиту системных файлов. Я даже больше не буду возиться с этим; Это не стоит усилий, когда у нас есть так много других способов добавить наши системы разработки сейчас.

the Tin Man 06.04.2020 23:52

Другие вопросы по теме