我正在尝试为rails项目安装Redcarpet gem。
问题是前几天我升级到Mavericks OS并且我无法安装它,但我不确定它是否与操作系统的更改有关。
这是我得到的错误:
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库存在问题,但我不知道如何修复它,我一直在谷歌搜索但没有发现任何有用的东西。
非常感谢任何帮助,谢谢!
答案 0 :(得分:14)
您是否尝试升级到最新的XCode? p>
您可能需要运行XCode版本5.0.1才能在Mavericks下编译本机扩展。 Link
修改强>
正如@Doon在评论中指出的那样,你可能需要运行
xcode-select --install
获取最新的命令行工具。
答案 1 :(得分:3)
好的,我终于发现,当我升级到10.9小牛队时,我的gcc被打破了,所以我不得不安装命令行工具。
怎么做:
1)打开终端
2)输入“xcode-select --install”(不带引号)
3)按enter键
4)点击“安装”
就是这样!
答案 2 :(得分:0)