2012-09-04 77 views
31

试图安装在山狮宝石,使找不到GCC-4.2:OS X山狮:GCC-4.2没有这样的文件或目录

kamil$ gem install posix-spawn -v '0.3.6' 
Building native extensions. This could take a while... 
ERROR: Error installing posix-spawn: 
    ERROR: Failed to build gem native extension. 

     /Users/kamil/.rbenv/versions/1.9.3-p0/bin/ruby extconf.rb 
creating Makefile 

make 
compiling posix-spawn.c 
make: gcc-4.2: No such file or directory 
make: *** [posix-spawn.o] Error 1 

回答

89

如果您已经安装的Xcode,海合会应可用。检查它是:

kamil$ which gcc 
/usr/bin/gcc 

然后使从GCC-4.2用户陆地符号链接普通GCC:

kamil$ sudo ln -s ~/bin/gcc /usr/bin/gcc-4.2 

(确保用户域绑定文件夹通过export PATH=...:$HOME/bin是在你的路径在您的.bash_profile.zshrc。)

之后安装好的Gem。

+2

它令我难以置信的是,为什么在安装命令行工具时这并未默认设置。我花了很多时间试图完成这项工作,最终遇到了你的答案。这是Ruby问题还是Xcode问题,即使安装了gcc,这些操作仍然失败? –

+0

如果在尝试运行'ls -s/usr/bin/gcc /usr/bin/gcc-4.2'时出现'权限被拒绝'错误' 1)运行'sudo chmod 755/usr/bin/gcc' 2)运行'sudo ln -s/usr/bin/gcc /usr/bin/gcc-4.2' – ATSiem

+1

问题在于gcc版本可能实际上不是4.2。它将起到解决方案的作用,但这似乎是一个非常糟糕的解决方案。像@Piioo建议的那样,实际上安装正确版本的gcc与自制软件可能会更好。 – caspian311

14

只需安装apple-gcc42即可。它生成gcc-4.2。

brew install apple-gcc42 

所以我们不需要符号链接,苹果更新可能会删除。

Homebrew

1

由于@Artur Bodera提到现代OSX会拒绝让你创建的系统/ bin文件夹中的符号链接。

为了避免这个只需创建符号链接到你的用户bin文件夹

ln -s ~/bin/gcc /usr/bin/gcc-4.2 

不要忘了bin文件夹添加到您的.zshrc或.bash_profile中 - 例如

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$HOME/bin 
+0

第一个命令给我一个 - 不允许的操作。目前我的.bash_profile有 - export PATH =“/ usr/local/bin:$ PATH”。更新它会安全吗? 我在OSX 10.12.4上 –

相关问题