我已经提到了Installing Ruby on Rails - Mac OS Lion并且跟随Alain Beauvois's reply并且已经完成了所有事情。唯一的区别是我使用1.9.3而不是1.9.2。
我创建了.bash_profile
,甚至确保open -e .bash_profile
存在,甚至添加了Alain Beauvois所述的行。
但现在看来问题是我收到了这个错误:
Error running 'make', please read /usr/local/rvm/log/ruby-1.9.3-p374/make.log
There has been an error while running make. Halting the installation.
引用的日志包含:
[2013-02-02 21:41:52] make
CC = clang
LD = ld
LDSHARED = clang -dynamic -bundle
CFLAGS = -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -pipe
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.1 -I./include -I.
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace
SOLIBS =
compiling regparse.c
regparse.c:582:15: error: implicit conversion loses integer precision: 'st_index_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
return t->num_entries;
~~~~~~ ~~~^~~~~~~~~~~
1 error generated.
make: *** [regparse.o] Error 1
我甚至尝试过
rvm -install ruby-1.9.3-p374
但仍然得到同样的错误。在我得到这个部分之前,我确实得到了一些奇怪的错误,但是在我重新加入它之前添加sudo
之后,它就起作用了。 AFAIK,sudo
=使用su
权限/权限执行某项操作,对吗?
答案 0 :(得分:31)
我有完全相同的错误,但是使用brew而不是MacPorts。我所要做的就是:
brew update
brew tap homebrew/dupes
brew install apple-gcc42
rvm get stable
rvm install 1.9.3-p374
我没有像某些指示所指出的那样设置CC环境变量。 HTH!
答案 1 :(得分:20)
如果你使用rbenv和ruby-build而不是rvm,你必须这样做:
env CC=gcc rbenv install 1.9.3-p392
如果这不起作用,请尝试:
# this export must be done before every new ruby build
export CC=gcc
# use the version you wish to install
rbenv install 1.9.3-p392
如果不起作用,则需要先安装gcc:
brew update
brew tap homebrew/dupes
# install apple-gcc, only once needed
brew install apple-gcc42
在红宝石人构建clang兼容的ruby版本之前,你必须在每次构建新的ruby版本之前导出CC变量
答案 2 :(得分:18)
刚刚找到this。我认为这是你需要做的。
首先,如果您还没有,请下载MacPorts并进行安装。然后运行以下两个命令:
sudo port selfupdate
sudo port install apple-gcc42
太真实的UNIX GCC了。然后,安装1.9.3 run:
CC=/opt/local/bin/gcc-apple-4.2 rvm install ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl
这告诉rvm使用UNIX GCC安装Ruby而没有需要X11的Tk或Tcl(OSX 10.8之外)。如果您需要readline支持,OpenSSL等内容,请查看上面链接的要点。
答案 3 :(得分:3)
这也适用于OSX 10.8.2 + XCode 4.6上的rbenv
$ export CC=gcc
$ rbenv install 1.9.3-p385 -v
但是如果苹果将来更改Xcode的命令行工具,那么知道自制软件可以安装另一个版本的gcc也很有用。
答案 4 :(得分:1)
我刚才(安装XCode命令行工具后):
$ export CC=gcc $ rvm install 1.9.3
虽然它说“Ruby'ruby-1.9.3-p374'是使用clang构建的 - 但它没有(完全)支持,所以会出现错误。” - 它奏效了。
答案 5 :(得分:1)
这对我来说也适用于ruby-1.9.3-p385,没有安装自制软件或Macports。
export CC=gcc
rvm install 1.9.3
给出消息“Ruby'ruby-1.9.3-p385'是使用clang构建的 - 但它没有(完全)支持,期待错误。”完成任务后。
答案 6 :(得分:1)
只是为列表添加另一个答案......我正在使用ruby-install,这对我有用:
CC=/usr/local/bin/gcc-4.2 ruby-install ruby 1.9.3-p0
答案 7 :(得分:0)
我试了apple-gcc42
和CC=/usr/bin/gcc
没有运气,所以我不确定他们是否有必要。我正在使用rbenv
经理,因此在尝试安装1.9.3-p385
时,这对我有用
brew install readline
CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)" rbenv install 1.9.3-p385
上找到它
答案 8 :(得分:0)
记录:rbenv
上ruby 1.9.3-p385
,gcc48
, brew install gcc48
(Darwin Kernel Version 15.2.0
)为我工作。 (编辑期间有很多警告我忽略了,ruby到目前为止工作得很好。)
我必须在CC=gcc-4.8
rbenv install 1.9.3-p385