安装ruby 1.9.3时出错

nic*_*nt1 5 rvm ruby-1.9.3

我正在尝试使用rvm安装Ruby 1.9.3.但是,当我键入:

rvm install 1.9.3
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR: Error running 'make ', please read /Users/nick/.rvm/log/ruby-1.9.3-rc1/make.log
ERROR: There has been an error while running make. Halting the installation.
Run Code Online (Sandbox Code Playgroud)

我正在运行Mac OS X Lion,我当前的Ruby版本是1.9.2.

编辑:make.log:

make[1]: Entering directory `/Users/nick/.rvm/src/ruby-1.9.3/ext/readline'
/usr/bin/gcc-4.2 -I. -I../../.ext/include/x86_64-darwin11.0.0 -I../.././include -I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" -I/Users/nick/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe  -o readline.o -c readline.c
readline.c: In function ‘username_completion_proc_call’:
readline.c:1386: error: ‘username_completion_function’ undeclared (first use in this function)
readline.c:1386: error: (Each undeclared identifier is reported only once
readline.c:1386: error: for each function it appears in.)
make[1]: *** [readline.o] Error 1
make[1]: Leaving directory `/Users/nick/.rvm/src/ruby-1.9.3/ext/readline'
make: *** [mkmain.sh] Error 1
Run Code Online (Sandbox Code Playgroud)

Chu*_*Han 12

更简单,更通用的解决方案是显式安装有问题的软件包,然后使用该软件包重新安装.在我的情况下,它在openssl_missing上中止,所以:

rvm pkg install openssl
rvm install 1.9.3 -C "--with-openssl-dir=$HOME/.rvm/usr"
Run Code Online (Sandbox Code Playgroud)

对于你的情况,它可能是:

rvm pkg install readline
rvm install 1.9.3 -C "--with-readline-dir=$HOME/.rvm/usr"
Run Code Online (Sandbox Code Playgroud)

这当然假设您自己安装了rvm.相应改变......


Ale*_*tie 3

这是一个问题readline。尝试readline从源代码自行编译:

curl -O ftp://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
tar xzvf readline-6.1.tar.gz
cd readline-6.1
./configure --prefix=/usr/local
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

来源