我一直试图让Ruby在我的Mac上运行几天,无论我做什么似乎都没有成功。我已经安装了MacPorts并在此处发布了帖子:Installing Ruby on Mac OS X 10.8.2
我运行了以下命令:
sudo port selfupdate
sudo port install apple-gcc42
他们成功完成了然后我按下面这一行:
CC=/opt/local/bin/gcc-apple-4.2 rvm install ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl
运行该行后需要几分钟时间,我得到以下内容:
在此处输入代码MacPorts base已经是最新版本 DEBUG:将MacPorts源所有权设置为root 端口树已更新。要升级已安装的端口,您应该运行 端口升级过时了 i686-apple-darwin12-gcc-apple-4.2.1:没有输入文件 缺少必需的软件包:autoconf,automake,libtool,pkgconfig,libiconv,libyaml,readline,libxml2,libxslt,libksba,openssl,curl-ca-bundle,sqlite3,zlib,ncurses,gdbm。 懦弱地拒绝继续,请阅读'rvm autolibs'。 有包安装错误,请务必阅读日志。
我是否需要安装它引用的缺失软件包?如果是这样,我该怎么做?我对MacPorts不太熟悉,并且非常感谢帮助实现这一目标。
因为我最初通过https://rvm.io/rvm/install/安装了RVM,所以我用ruby跟随第一个命令到RVM:
$ \curl -#L https://get.rvm.io | bash -s stable --autolibs=3 --ruby
运行下载并编译的命令后,当它为ruby-2.0.0-p0安装rubygems-2.0.3时,它给出了以下错误消息:
Error running 'env GEM_PATH=/usr/local/rvm/gems/ruby-2.0.0-p0:/usr/local/rvm/gems/ruby-2.0.0-p0@global:/usr/local/rvm/gems/ruby-2.0.0-p0:/usr/local/rvm/gems/ruby-2.0.0-p0@global GEM_HOME=/usr/local/rvm/gems/ruby-2.0.0-p0 /usr/local/rvm/rubies/ruby-2.0.0-p0/bin/ruby -d /usr/local/rvm/src/rubygems-2.0.3/setup.rb --verbose',
please read /usr/local/rvm/log/ruby-2.0.0-p0/rubygems.install.log
然后我去打开日志文件,在底部显示
ERROR: While executing gem ... (NoMethodError) undefined method fu_stream_blksize for #<Gem::Commands::SetupCommand:0x007fa09b05d7a8>
Installing RubyGems
Installing gem executable
我接下来可以做些什么?
提前致谢。
答案 0 :(得分:2)
我在OS X 10.8.3和XCode 4.6.1中遇到了类似的问题。经过一些谷歌搜索,我尝试使用类似的RVM命令安装,除了使用clang的XCode版本(符号链接到/ usr / bin / cc)。试试这个:
\curl -#L https://get.rvm.io | bash -s stable #just get rvm
source ~/.rvm/scripts/rvm
rvm get head # update to latest rvm
CC=/usr/bin/cc rvm install ruby
安装rubygems-2.0.3应该有同样的失败,但重新安装rubygems应该有效:
CC=/usr/bin/cc rvm install rubygems latest # substitute "2.0.3" for "latest" if you like.
这似乎是bug in rubygems,计划在2.0.4中修复。
希望有所帮助!
答案 1 :(得分:2)
我认为此错误来自FileUtils。
要修复它,您需要从rvm更改rubygems脚本:nano .rvm/scripts/rubygems
要在nano中查找单词,请使用ctrl+w setup.rb
并删除--verbose
选项。
在此之后,您需要ctrl+o
来保存文件,并ctrl+x
来关闭nano。
现在你可以重新安装rubygems:
rvm rubygems remove
rvm rubygems latest
抱歉我的英语不好。 希望这能帮助你。
答案 2 :(得分:1)
除了Valery的回答之外,在删除和重新安装之前,您可能需要执行以下操作:
echo ${LANG:-empty}
export LANG=en_US.utf-8
问题和解决方案的链接:
答案 3 :(得分:0)
这个问题是无害的,rubygems已经安装并且会按预期工作,这是由https://bugs.ruby-lang.org/issues/7992触发的 - 带有--verbose
标志的rubygems安装 - 如果没有其他错误,你的ruby是完全可用的在安装过程中。
<小时/> 另请注意,RVM会检测您已经通过的所有选项/标记,并且不需要手动传递它们,只需运行即可:
rvm install ruby-1.9.3-p194
<小时/> 使用
--autolibs=3
运行的RVM安装程序相当于使用以下方式运行它并使用以下方式手动设置:
rvm autolibs 3
要获取有关autolibs
和可用模式的更多信息,请执行:
rvm help autolibs