【问题标题】:Problems installing Ruby on Mountain Lion - ruby 1.9.3 wont' compile在 Mountain Lion 上安装 Ruby 时出现问题 - ruby​​ 1.9.3 无法编译
【发布时间】:2012-10-07 08:56:11
【问题描述】:

我之前看过很多关于此的帖子,并按照他们的指示进行操作,但没有任何效果。我将在下面概述我所做的事情,以及我遵循的说明 - 如有任何建议,我将不胜感激!

我已按照以下安装说明进行操作: http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac

我已经下载了 OSX Mountain Lion 的 X-code,并安装了 gcc 编译器:

$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

然后我按照指示完成并安装了最新版本的git

$ git --version
git version 1.7.10.2 (Apple Git-33)

同样通过命令行对 rvm 进行同样的操作:

$ rvm --version
rvm 1.16.13 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

当我尝试使用 RVM 安装 ruby​​ 时,我得到以下信息:

$ rvm install 1.9.3
No binary rubies available for: osx/10.8/x86_64/ruby-1.9.3-p286.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Installing Ruby from source to: /Users/mondemoo/.rvm/rubies/ruby-1.9.3-p286, this may take a while depending on your cpu(s)...
ruby-1.9.3-p286 - #downloading ruby-1.9.3-p286, this may take a while depending on your connection...
ruby-1.9.3-p286 - #extracted to /Users/mondemoo/.rvm/src/ruby-1.9.3-p286 (already extracted)
ruby-1.9.3-p286 - #configuring
Error running 'env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include -L/Users/mondemoo/.rvm/usr/lib ./configure --enable-shared --disable-install-doc --prefix=/Users/mondemoo/.rvm/rubies/ruby-1.9.3-p286', please read /Users/mondemoo/.rvm/log/ruby-1.9.3-p286/configure.log
There has been an error while running configure. Halting the installation.

使用备用命令行虽然有一些额外的位,但我得到了类似的输出:

$ rvm install 1.9.3 --with-gcc=clang
-bash: -dumpversion: command not found
-bash: --version: command not found
-bash: --version: command not found
Installing Ruby from source to: /Users/mondemoo/.rvm/rubies/ruby-1.9.3-p286, this may take a while depending on your cpu(s)...
ruby-1.9.3-p286 - #downloading ruby-1.9.3-p286, this may take a while depending on your connection...
ruby-1.9.3-p286 - #extracted to /Users/mondemoo/.rvm/src/ruby-1.9.3-p286 (already extracted)
ruby-1.9.3-p286 - #configuring
Error running 'env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include -L/Users/mondemoo/.rvm/usr/lib ./configure --enable-shared --disable-install-doc --prefix=/Users/mondemoo/.rvm/rubies/ruby-1.9.3-p286 --with-gcc=clang', please read /Users/mondemoo/.rvm/log/ruby-1.9.3-p286/configure.log
There has been an error while running configure. Halting the installation.
-bash: --version: command not found

查看configure.logs,我得到以下信息:

$ less /Users/mondemoo/.rvm/log/ruby-1.9.3-p286/configure.log
[2012-10-17 07:39:15] env LDFLAGS=-L/opt/sm/pkg/active/lib CFLAGS=-I/opt/sm/pkg/active/include CPATH=/opt/sm/pkg/active/include -L/Users/mondemoo/.rvm/usr/lib ./configure --enable-shared --disable-install-doc --prefix=/Users/mondemoo/.rvm/rubies/ruby-1.9.3-p286 --with-gcc=clang
checking build system type... x86_64-apple-darwin12.2.0
checking host system type... x86_64-apple-darwin12.2.0
checking target system type... x86_64-apple-darwin12.2.0
checking whether the C compiler works... no
configure: error: in `/Users/mondemoo/.rvm/src/ruby-1.9.3-p286':
configure: error: C compiler cannot create executables
See `config.log' for more details

我现在对自己做错了什么感到非常困惑-有人可以提供帮助吗? c编译器(gcc?)似乎存在问题,我是否正确解释它?如果是这样,我该如何解决?另外,如何访问上面 configure.log 中提到的“config.log”?

谢谢!

【问题讨论】:

  • 请在终端输出时使用四空格缩进来格式化您的帖子。
  • 那么配置日志是怎么说的呢?
  • 请阅读 /Users/mondemoo/.rvm/log/ruby-1.9.3-p286/configure.log ,这是礼貌的。
  • 感谢 Ryan 刚刚知道如何缩进 :-) Half-elf 和 Warren,我刚刚添加了 configure.log 文件的内容。

标签: ruby macos gcc rvm osx-mountain-lion


【解决方案1】:

这是 RailsInstaller OSX 1.0.3 中的一个错误 - https://github.com/railsinstaller/railsinstaller-nix/issues/10

您需要更改 /etc/rvmrc 以包含此内容:

umask g+w
export -a rvm_configure_env
rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')

当二进制 ruby​​ 可用于 2.0.0 时,我将准备新版本的安装程序。

更新:对于新版本的 RVM 1.19+ /etc/rvmrc 应更改为:

umask g+w
export rvm_autolibs_flag=smf

然后运行rvm get stabel #OR: head

【讨论】:

  • 忽略我的上一篇文章,只看到这条线还在继续——现在就试试。
  • 非常感谢!这对我有用......并且也安装了 Ruby 2.0.0。
  • 所以现在是 2013 年 4 月 11 日,这还没有解决。为什么 Rails 总是有问题,我在谷歌上搜索 Rails 安装或设置问题最多的错误消息
  • 我做了一个more /etc/rvmrc 并且没有这样的文件。太好了
  • 更新 rvm 应该修复它或者告诉你如何修复它,这个问题发生在你的系统上,它不能远程自动修复 - 你需要采取措施来修复它......最重要读取您运行的命令的输出
【解决方案2】:

不确定我是否以“正确”的方式进行操作,但我只是删除了 RVM (rvm implode),然后重新安装了它 (\curl -L https://get.rvm.io | bash -s stable --ruby) 并且它已安装并且现在运行最新版的ruby 1.9.3-p327没问题。

【讨论】:

  • 我实际上也让它再次工作,但是我在构建其他需要本机扩展的东西时仍然遇到其他问题。 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多