簡體   English   中英

如何在 Mac OS High Sierra 上將與 Ruby 相關的任何內容重置為出廠設置

[英]How to reset anything related to Ruby to factory settings on Mac OS High Sierra

在我的新筆記本電腦上涉及 RVM、Ruby 和 Rails 的許多不幸事件之后,我完全不知所措。 我卸載了 RVM,但所有路徑、版本和權限都亂七八糟。

我進行了搜索,但找不到正確的修復方法。 感覺每個解決方案都會使問題變得更糟。

我想重新開始,而不必將計算機重置為出廠設置。 我怎樣才能只重置與 Ruby、Rails 等 Ruby 相關的東西,而不清除我的計算機?

在你開始所有這些之前,我會關閉並重新打開你的終端窗口,以確保你沒有加載任何舊的環境變量。

一般的東西:

  • 運行env | grep RUBY env | grep RUBYenv | grep RVM env | grep RVM並查找您可能已設置的任何剩余環境變量
  • 環境相同env | grep GEM env | grep GEM 有時您會看到GEM_PATHGEM_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 bundlergem 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 來安裝 gems,但我不建議這樣做。 我最喜歡的 ruby 版本管理器是asdf ,它可能值得一看。 您將安裝核心和ruby 插件

這應該讓你更接近一點。 如果您看到任何其他問題,請發布錯誤。

rm -rf ~/.rvm ,然后編輯~/.bash_profile以刪除source $HOME/.rvm/scripts/rvm

然后,您可以按照https://rvm.io/rvm/install上的詳細安裝說明從頭開始使用 RVM 重新啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM