Cannot install brew on Mojave with Xcode 10

2020-05-16 05:09发布

问题:

I can not install any brew packages on my mac with the following error info.

Installed on my Mac:

  • macOS 10.14 Beta (18A293u)
  • Xcode 9.3 (9E145)
  • Xcode 10.0 beta (10L176w)

Type in brew install xxx. The output is:

Error: Your Xcode (9.3) is too outdated.
Please update to Xcode 10.0 (or delete it).
Xcode can be updated from
https://developer.apple.com/download/more/

Error: Xcode alone is not sufficient on Mojave.
Install the Command Line Tools:
xcode-select --install

But as I type in xcode-select --install, it says it is not available
Xcode select install error

Paths of two versions of Xcode on my Mac:

/Applications/Xcode-beta.app
/Applications/Xcode.app

And my config output:
xcode-select -p

/Applications/Xcode.app/Contents/Developer     

brew config

HOMEBREW_VERSION: 1.6.7
ORIGIN: https://github.com/Homebrew/brew
HEAD: 22e9fd772926e389e264cfb328c3d810b06759f9
Last commit: 5 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 854bb90b366169915849fc9a83e941b8883cea1f
Core tap last commit: 6 hours ago
HOMEBREW_PREFIX: /usr/local
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.3.6 =>./System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
Clang: 9.1 build 902
Git: 2.15.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 1.8.0_131
macOS: 10.14-x86_64
CLT: N/A
Xcode: 9.3
XQuartz: N/A

回答1:

You will need to install both "Xcode 10.0 Beta" from https://developer.apple.com/download/ AND "Command Line Tools (macOS 10.14) for Xcode 10 Beta" from

https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_macOS_10.14_for_Xcode_10/Command_Line_Tools_macOS_10.14_for_Xcode_10.dmg

Update contributed by other comments, after you installed "Command Line Tools", you will also need to execute the following command in your terminal.

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg


回答2:

Beginning in 10.14, a new step is required to create the header files in /usr/include:

Install /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

Source: The Xcode 10 release notes



回答3:

After installing CLT, you can ask CLT to add header files to /usr/include, then homebrew will appropriate detect the Command Line Tools.

installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /


回答4:

After installing Xcode 10 Beta and Command Line Tools (macOS 10.14) for Xcode 10 Beta, I also changed the path for xcode-select to use the newly installed command line tools with:

sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer     


回答5:

At this time, Brew is not supporting macOS Mojave Beta.

(Type brew doctor to confirm that they are not accepting issues for Mojave yet)

See: https://apple.stackexchange.com/questions/327458/install-homebrew-packages-on-macos-mojave-beta

See: https://github.com/Homebrew/brew/issues/4295



回答6:

I was able to install Homebrew on Mojave by manually downloading the command line tools here: https://developer.apple.com/download/more/

Modify the Homebrew install script here: https://raw.githubusercontent.com/Homebrew/install/master/install

By replacing:

def should_install_command_line_tools?
  return false if force_curl?
  return false if macos_version < "10.9"
  !File.exist?("/Library/Developer/CommandLineTools/usr/bin/git") ||
  !File.exist?("/usr/include/iconv.h")
end

With this:

def should_install_command_line_tools?
  return true
end

Then just execute the script.

This is a little hacky, but it worked for me and could help someone out in the beta period.



回答7:

confirm that Command Line Tools for 10.14 won't create /usr/include/ folder that makes brew install script insist to re-download and install CL.

download the script, and manual removing checking works fine. (be aware it should be false instead of true.

def should_install_command_line_tools?
  return **false**
end