系統(tǒng) macOS Big Sur 版本 11.0
芯片Apple M1
brew運(yùn)行任何命令都會(huì)報(bào)錯(cuò),原因是 brew 只支持正式發(fā)行版。
~ brew install svn
Traceback (most recent call last):
11: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `<main>'
10: from /usr/local/Homebrew/Library/Homebrew/brew.rb:23:in `require_relative'
9: from /usr/local/Homebrew/Library/Homebrew/global.rb:29:in `<top (required)>'
8: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
7: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
6: from /usr/local/Homebrew/Library/Homebrew/os.rb:3:in `<top (required)>'
5: from /usr/local/Homebrew/Library/Homebrew/os.rb:21:in `<module:OS>'
4: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:58:in `prerelease?'
3: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `version'
2: from /usr/local/Homebrew/Library/Homebrew/os/mac.rb:24:in `new'
1: from /usr/local/Homebrew/Library/Homebrew/os/mac/version.rb:26:in `initialize'
/usr/local/Homebrew/Library/Homebrew/version.rb:368:in `initialize': Version value must be a string; got a NilClass () (TypeError)
解決方法
從錯(cuò)誤中可以看得出來(lái) 是version.rb 這個(gè)文件的368行報(bào)錯(cuò),我們可以直接給他個(gè)寫死的版本 即可,讓他認(rèn)為macOS是正式發(fā)行版
修改后代碼:
def initialize(val)
#raise TypeError, "Version value must be a string; got a #{val.class} (#{val})" unless val.respond_to?(:to_str)
@version = '10.14.1'
end
把拋出異常的語(yǔ)句注釋掉,然后 version 指定為 10.14.1。
再次運(yùn)行就不會(huì)報(bào)錯(cuò)了。
記得最好不要更新brew,不然代碼可能會(huì)被覆蓋掉。下次還得改一遍。