当我尝试使用以下方法在Snow Leopard上安装Ruby 1.9.2时
rvm install 1.9.2
我得到以下内容:
ERROR: Error running 'make ', please read /Users/mary/.rvm/log/ruby-1.9.2-p180/make.log
ERROR: There has been an error while running make. Halting the installation.
所以,我查看make.log。结尾是:
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: *** [mkmain.sh] Error 1
我已经咨询了这个问题的其他答案,并完成了那里的所有建议:
我的.bash_profile的结尾添加了以下行:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
我已尝试更新readline,但无论如何,我都会继续收到有关运行'make'的错误消息。
rvm info的输出如下:
system:
system:
uname: "Darwin mary-nunans-computer.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386"
bash: "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
zsh: "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"
rvm:
version: "rvm 1.6.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"
homes:
gem: "not set"
ruby: "not set"
binaries:
ruby: "/usr/local/bin/ruby"
irb: "/usr/local/bin/irb"
gem: "/usr/local/bin/gem"
rake: "/usr/local/bin/rake"
environment:
PATH: "/opt/local/bin:/opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/X11/bin:/Users/mary/.rvm/bin:/Users/mary/.rvm/bin"
GEM_HOME: ""
GEM_PATH: ""
MY_RUBY_HOME: ""
IRBRC: ""
RUBYOPT: ""
gemset: ""
任何建议都将不胜感激。
答案 0 :(得分:18)
编译并安装自己的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
cd ..
删除红宝石:rvm remove 1.9.2
再次安装:rvm install 1.9.2
(如果您的目录中没有本地路径,则可能需要添加源代码:rvm install 1.9.1 -C --with-readline-dir=/usr/local/
应该这样做。
-------------编辑--------------
如下面的评论中所述,如果您使用homebrew,则应brew install readline
。如果您使用的是Mac,那么 应该使用自制软件。
------------如何在10.7 ---------
上编写READLINE“readline-6.2尚未针对Mac OS X 10.7(darwin11)进行更新,因此请打开support / shobj-conf并在显示的两个位置将darwin10更改为darwin11。”
来源:lamboy
答案 1 :(得分:1)
我遇到了同样的问题,帖子Getting error for libxml2.2.dylib "file is not of required architecture"中的答案)终于帮我解决了。
答案 2 :(得分:0)
您必须安装开发人员工具。您可以在mac app store下载Xcode(随附的开发人员工具)5美元。
答案 3 :(得分:0)
我正在粘贴'rvm notes'的输出,因为这很重要。你至少需要Xcode 3.2.1(1613)。请注意,Snow Leopard是第一次进行此修订,因此您需要获取更新的Xcode。
∴rvm notes
达尔文笔记(Mac OS X)
对于Snow Leopard,请务必使用Xcode Tools Version 3.2.1(1613)或更高版本 您应该从developer.apple.com下载最新的Xcode工具。 (这是因为Snow Leopard的DVD安装包含错误)。如果您打算安装MacRuby,则必须先安装LLVM。 如果您打算安装JRuby,则必须安装JDK。 如果您打算安装IronRuby,则必须安装Mono (建议使用2.6或更高版本。)
使用RVM安装Ruby作为默认值而不是系统ruby: rvm install 1.8.7 #installs patch 352:最近支持的版本 rvm系统; rvm gemset export system.gems; rvm 1.8.7; rvm gemset导入系统 迁移你的宝石 rvm --default 1.8.7
注意:
从1.8.0开始,RVM再次加载.rvmrc文件,默认情况下,询问你的 当然可以信任它。如果您不希望启用,只需设置: export rvm_project_rvmrc = 0 在/ etc / rvmrc或$ HOME / .rvmrc文件中。这将关闭 在将rvm()函数提供给shell时,cd / pushd挂钩。示例:echo'export rvm_project_rvmrc = 0'>> $ HOME / .rvmrc; (然后关闭当前shell并打开一个新shell。)
在撰写本文时,当前的RVM为1.8.3,所需的Xcode最低为3.2.1,您可以使用Homebrew中的readline,RVM的'rvm pkg install readline'或Lion的内置readline(尽管那里)有关失败的重要报道。)
您可以按照网站上显示的那样传递该信息。