更新到OS X 10.9后,我的macport出现了问题。

我试着按照这个手册https://trac.macports.org/wiki/Migration来修复它们。

但是当我安装命令行工具时:

xcode-select——安装

我收到消息

无法安装该软件,因为它当前不可用 软件更新服务器。

与此同时,我成功地将我的另一台机器升级到OS X 10.9。并且安装的命令行工具没有问题,所以它们必须是可用的。

这里的问题是什么?


当前回答

我在MacOS Catalina上也有同样的问题。

我想我找到了根本原因:我切换了默认的Apple ID帐户,新的帐户没有作为开发人员帐户激活。当我运行xcode-select——install命令时,我得到了与问题描述中所述相同的错误。

在阅读了stackoverflow上的这篇文章后,我访问了https://developer.apple.com/downloads,并被要求接受开发者条款。我认为它使我的帐户成为一个开发人员。然后,我试着再次运行xcode-select -install,它工作了。

其他回答

我通过进入App Store并安装Xcode解决了这个问题。

这是一个相当大的11GB安装,所以这可能是多余的。但是,作为最后的手段,它似乎已经解决了我的问题。在安装过程中(大约10GB), Mac OS告诉我Xcode的命令行工具有更新。在Xcode完全安装之前,执行这个安装不会修复任何问题。

一旦安装完成,它就应该开始工作了(在您接受许可协议之后)。

我遇到了同样的问题,无法安装软件,因为它目前不可从软件更新服务器。您可以尝试以下步骤,以使软件更新启动命令行工具的更新。

Check if Command Line Tools Update is mentioned in your list of softwares to be updated by using following command: softwareupdate -l If Command Line Tools Update is not mentioned in that list, then manually make it part of the list using following command which will create a temporary file: sudo touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress Verify that the list now has the Command Line Tools mentioned by running softwareupdate -l again. Now, press Cmd+Space to initiate Mac's Spotlight Search. Search for Software Update. Start the Software Update. That will show you following kind of dialog for installing the Command Line Tools. Install away the update and be merry. :) Remove the temporary file created in Step 2: sudo rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress.

有同样的问题,得到同样的错误。当我运行xcode-select -p时,输出为/Library/Developer/CommandLineTools。这意味着xcode已经安装在我的系统中了。然后我按照给出的答案运行步骤。在此之后,任何需要xcode的命令都成功运行。

命令

xcode-select——安装

建议3个选项:获取Xcode;不是现在;安装。

当我选择获得完整的Xcode命令成功完成。这花了一段时间,但这样我就能完成所有的macports迁移指令。

一旦你像Nikos M在上面的回答中描述的那样加载了命令行工具,你将需要同意gcc许可证,如果你使用ruby gems,你可能需要将llvm-gcc链接为gcc-4.2。

如果你不这样做,gem安装会在你已经安装了开发工具之后报告“你必须先安装开发工具”。

步骤如下:

sudo gcc
sudo ln -s /usr/bin/llvm-gcc /usr/bin/gcc-4.2

gcc必须在sudo下运行一次,这样Apple就可以更新他们的许可证信息,你不需要输入文件,它会在检查参数之前更新许可证。需要这个链接,以便ruby 1.9在构建某些gem(如调试器)时能够找到编译器。这可能在ruby 2中被修复。x,但船到桥头自然直。