1

尝试使用 RVM 安装 1.9.3。

在我的make.log

compiling readline.c
readline.c:1499:9: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
                                    rl_username_completion_function);
                                    ^
readline.c:69:42: note: expanded from macro 'rl_username_completion_function'
# define rl_username_completion_function username_completion_function
                                         ^
/usr/local/include/readline/readline.h:443:14: note: 'rl_username_completion_function' declared here
extern char *rl_username_completion_function PARAMS((const char *, int));
             ^
1 error generated.
make[2]: *** [readline.o] Error 1
make[1]: *** [ext/readline/all] Error 2
make: *** [build-ext] Error 2

我之前在 SL 中遇到过这个问题。我安装了 Xcode 4.3.2(也安装了命令行工具) 我安装了 readline 6.2.2。

添加export ARCHFLAGS="-arch x86_64"到我的.bash_login文件中。

我也尝试过rvm install 1.9.3 --with-gcc=clang,但我遇到了同样的错误,由于支持有限,我宁愿避免这样做。

有人有可行的程序吗?

编辑:

链接到相关的开放 Ruby 票证

4

1 回答 1

1

我解决了这个问题。RVM 无法识别已安装的 readline。有趣的是,readline 如何设法搞砸了这么多人的安装。

此命令将 rvm 指向正确的 readline 位置

rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
于 2012-04-27T05:54:34.930 回答