2013-10-25 75 views
4

我目前正在尝试为rails项目安装Redcarpet gem。在小牛上安装地毯宝石

问题是,前几天我升级到小牛操作系统,我无法安装它,但我不确定它是否与操作系统的变化有任何关系。

这里是我得到的错误:

ERROR: Error installing redcarpet: 
ERROR: Failed to build gem native extension. 

/Users/lalala/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb 
creating Makefile 
make 
compiling autolink.c 
In file included from autolink.c:17: 
buffer.h:23:20: error: stdint.h: No such file or directory 
In file included from autolink.c:17: 
buffer.h:41: error: expected specifier-qualifier-list before ‘uint8_t’ 
In file included from autolink.c:18: 
autolink.h:31: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ 
autolink.h:31: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token 
autolink.h:35: error: expected declaration specifiers or ‘...’ before ‘uint8_t’ 
autolink.h:39: error: expected declaration specifiers or ‘...’ before ‘uint8_t’ 
autolink.h:43: error: expected declaration specifiers or ‘...’ before ‘uint8_t’ 
autolink.c:20:20: error: string.h: No such file or directory 
autolink.c:21:20: error: stdlib.h: No such file or directory 
autolink.c:22:19: error: stdio.h: No such file or directory 
autolink.c:23:19: error: ctype.h: No such file or directory 
autolink.c:30: warning: type defaults to ‘int’ in declaration of ‘uint8_t’ 
autolink.c:30: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token 
autolink.c:52: error: expected ‘)’ before ‘*’ token 
autolink.c:136: error: expected ‘)’ before ‘*’ token 
autolink.c:165: error: expected declaration specifiers or ‘...’ before ‘uint8_t’ 
autolink.c: In function ‘sd_autolink__www’: 
autolink.c:172: warning: implicit declaration of function ‘ispunct’ 
autolink.c:172: error: ‘data’ undeclared (first use in this function) 
autolink.c:172: error: (Each undeclared identifier is reported only once 
autolink.c:172: error: for each function it appears in.) 
autolink.c:172: warning: implicit declaration of function ‘isspace’ 
autolink.c:175: warning: implicit declaration of function ‘memcmp’ 
autolink.c:175: warning: implicit declaration of function ‘strlen’ 
autolink.c:175: warning: incompatible implicit declaration of built-in function ‘strlen’ 
autolink.c:178: warning: implicit declaration of function ‘check_domain’ 
autolink.c:186: warning: implicit declaration of function ‘autolink_delim’ 
autolink.c: At top level: 
autolink.c:201: error: expected declaration specifiers or ‘...’ before ‘uint8_t’ 
autolink.c: In function ‘sd_autolink__email’: 
autolink.c:210: error: ‘uint8_t’ undeclared (first use in this function) 
autolink.c:210: error: expected ‘;’ before ‘c’ 
autolink.c:212: warning: implicit declaration of function ‘isalnum’ 
autolink.c:212: error: ‘c’ undeclared (first use in this function) 
autolink.c:215: warning: implicit declaration of function ‘strchr’ 
autolink.c:215: warning: incompatible implicit declaration of built-in function ‘strchr’ 
autolink.c:225: error: expected ‘;’ before ‘c’ 
autolink.c:241: error: ‘data’ undeclared (first use in this function) 
autolink.c: At top level: 
autolink.c:256: error: expected declaration specifiers or ‘...’ before ‘uint8_t’ 
autolink.c: In function ‘sd_autolink__url’: 
autolink.c:263: error: ‘data’ undeclared (first use in this function) 
autolink.c:266: warning: implicit declaration of function ‘isalpha’ 
autolink.c:269: warning: implicit declaration of function ‘sd_autolink_issafe’ 
autolink.c:272: warning: incompatible implicit declaration of built-in function ‘strlen’ 
make: *** [autolink.o] Error 1 

显然有一些C库的一个问题,但是我不知道如何解决它,我一直在谷歌上搜索,但没有发现任何有用的。

任何帮助非常感谢,谢谢!

回答

14

您是否尝试升级到最新的XCode?

您可能需要运行XCode版本5.0.1才能在Mavericks下编译本机扩展。 Link

编辑:

由于@Doon在他的评论中指出的那样,你可能需要运行

xcode-select --install 

以获取最新的命令行工具。

+0

我正在更新我的XCode,我希望是这样! – Waclock

+0

没有工作=(。 – Waclock

+3

xcode-select --install获取命令行工具,看看是否有帮助。 – Doon

0

您是否尝试删除Gemfile.lock并再次运行软件包安装?

看到这个答案:

Active_Model error in rails

希望这有助于!

3

好吧我终于发现,当我升级到10.9小牛时,我的gcc坏了,所以我不得不安装命令行工具。

如何做到这一点:

1)打开终端

2)键入 “Xcode中,选择--install”(不带引号)

3)按ENTER

4)点击“安装”

就是这样!

+3

除了这给出了一个错误,说服务器上不可用。它转到查找软件进度栏,然后“无法安装软件,因为它目前不能从软件更新服务器获得。” –

+0

当发生这种情况时,我没有得到任何错误,它的工作完美无瑕。 – Waclock