Подтвердить что ты не робот

Установка Ruby на Mac OS X 10.8.2

Я упомянул установку Ruby on Rails - Mac OS Lion и последовал за Аленом Бовуасом и получил почти все. Единственное различие заключается в том, что я использую 1.9.3 вместо 1.9.2.

Я создал .bash_profile и даже убедился, что существует open -e .bash_profile и даже добавил строку, как заявил Ален Бовуас.

Но теперь проблема в том, что я получаю эту ошибку:

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, правильно?

4b9b3361

Ответ 1

Только что нашел this. Я думаю, что это то, что вам нужно сделать.

Во-первых, если вы еще этого не сделали, загрузите MacPorts и установите его. Затем запустите следующие две команды:

sudo port selfupdate
sudo port install apple-gcc42

Слишком получить реальный UNIX GCC. Затем, чтобы установить запуск 1.9.3:

CC=/opt/local/bin/gcc-apple-4.2 rvm install ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl

Что говорит rvm для установки Ruby с использованием UNIX GCC без Tk или Tcl, для которых требуется X11 (оставлено без OSX 10.8). Если вы хотите, например, поддержку readline, OpenSSL и т.д., Ознакомьтесь с приведенным выше ссылкой.

Ответ 2

У меня была такая же ошибка, но я использую brew вместо MacPorts. Все, что мне нужно было сделать:

brew update
brew tap homebrew/dupes
brew install apple-gcc42
rvm get stable
rvm install 1.9.3-p374

Мне не нужно было устанавливать переменную окружения CC, как указано в некоторых инструкциях. НТН!

Ответ 3

Если вы используете 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, вы должны экспортировать переменную CC перед каждой сборкой новой рубиновой версии

Ответ 4

Это также работало в rbenv на OSX 10.8.2 + XCode 4.6

$ export CC=gcc
$ rbenv install 1.9.3-p385 -v

Но также полезно знать, что homebrew может установить еще одну версию gcc, если в будущем Apple изменит инструменты командной строки Xcode.

Ответ 5

Я только что сделал (после установки инструментов командной строки XCode):

$ export CC=gcc
$ rvm install 1.9.3

И хотя он сказал, что "Ruby" ruby-1.9.3-p374 "был построен с использованием clang - но он не поддерживается (полностью), ожидает ошибок". - он работал.

Ответ 6

Это работало и на рубине-1.9.3-p385 без установки домашней или Macports.

export CC=gcc
rvm install 1.9.3

Вышло сообщение "Ruby" ruby-1.9.3-p385 'было построено с использованием clang - но оно (полностью) не поддерживается, ожидайте ошибок ". после выполнения задачи.

Ответ 7

Просто добавьте еще один ответ в список... Я использую ruby-install, и это то, что сработало для меня:

CC=/usr/local/bin/gcc-4.2 ruby-install ruby 1.9.3-p0

Ответ 8

Я пробовал 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

Нашел этот блог

Ответ 9

Для записи: Работает для меня с 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