我有两台开发机器,都运行 Mac OS Mountain Lion。我必须安装 HD 的桌面之一(应用程序和系统安装在 SD 和标准用户帐户上。)在这台机器上,当我去安装 RVM 时,它说是幸运的“用户名中的空格”用户和我需要添加一些特殊的链接或诸如此类的东西。然后这些方法会导致它们自己的大量错误。我的问题是,将我的 usr/local 放在一个 hd 上,将我的用户帐户放在另一个 hd 上会导致这个问题吗?
4 回答
我遇到了与motleydev相同的问题,结果证明这些空间是红鲱鱼。相反,RVM 脚本似乎在某处硬编码“/Volumes/Macintosh HD”。我通过以下实验得出结论:
我有两个分区,原来的(“Macintosh HD”)和我正在处理的新分区(“Macintosh HD Rawr”)。(在制作我的原始分区时,我认为分区名称中的空格是可以的,因为显然 Macintosh HD 以前一直对我有用)
运行时初始错误rvm install ruby-1.9.3-p484 --verify-downloads 1:
/bin/sh: /Volumes/Macintosh: No such file or directory
make: *** [enc] Error 127
当我尝试将“/Volumes/Macintosh\ HD\ Rawr”重命名为“/Volumes/Macintosh”(我通过 Finder 重命名,符号链接/Volumes/Macintosh -> /
保持不变)时,安装仍然失败,但出现了不同的错误:
/bin/sh: /Volumes/Macintosh: source: no such file or directory
make: *** [enc] Error 127
然后我将旧卷从“/Volumes/Macintosh\ HD”重命名为“/Volumes/MacintoshHD”,安装仍然失败,但现在我遇到了不同的错误:
command(7): ./configure --prefix=/opt/twitter/rvm/rubies/ruby-1.9.3-p484 --with-opt-dir=/opt/twitter/opt/libyaml:/opt/twitter/opt/readline:/opt/twitter/opt/libksba:/opt/twitter/opt/openssl --without-tcl --without-tk --disable-install-doc --enable-shared
configure: WARNING: unrecognized options: --without-tcl, --without-tk
checking build system type... x86_64-apple-darwin13.3.0
checking host system type... x86_64-apple-darwin13.3.0
checking target system type... x86_64-apple-darwin13.3.0
checking whether the C compiler works... no
configure: error: in `/opt/twitter/rvm/src/ruby-1.9.3-p484':
configure: error: C compiler cannot create executables
See `config.log' for more details
查看config.log,发现如下错误:
xcrun: error: active developer path ("/Volumes/Macintosh HD/Applications/Xcode.app/Contents/Developer") does not exist, use xcode-select to change
由于此时两个卷都未被命名为“Macintosh HD”,这表明这已在 RVM 代码中的某处进行了硬编码。
果然,将我想要的分区更改为“/Volumes/Macintosh\ HD”允许 rvm 完成其业务。
我总是假设大多数工具不理解名称中的空格,所以我的用户名从不包含空格。例如,比较这两行(这些是我设置中的真实姓名)
source /Volumes/MySSD/Users/sergio/.rvm/scripts/rvm
source /Volumes/Macintosh HD/Users/sergio/.rvm/scripts/rvm
第二行将失败并显示消息“源:没有这样的文件或目录:/Volumes/Macintosh”,因为它将此路径解释为两个参数,以空格分隔。要使其工作,您必须将路径括在引号中(或使用反斜杠转义空格)。据我记得,RVM 脚本包含一两个未引用路径的命令。当我迁移到双磁盘设置时,我必须自己处理这些问题。我现在不记得细节了,但这可能是你的问题的根源,路径被错误地解释了。
我正在处理类似的双高清情况:
这可能是因为 xcode-select 没有选择正确的应用程序。检查 xcode-select 的帮助,您会看到可以将它选择的应用程序重置为系统默认值,如下所示:
sudo xcode-select -r
或者,如果您已经知道 XCode 的位置,您可以使用以下代码:
sudo xcode-select --switch /Applications/Xcode.app
xcode-select 文档:https ://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcode-select.1.html
只需按照说明进行操作:
看起来你是快乐的空间用户之一(在主目录名称中),RVM 还没有完全准备好,使用这个技巧来修复它:
sudo ln -s "$HOME/.rvm/" /$USER.rvm
echo "export rvm_path=/$USER.rvm" >> "$HOME/.rvmrc"
并重新开始安装。