Пытаюсь установить therubyracer на Mavericks с помощью "и камень установить therubyracer -в '0.10.2'" но я получаю следующую ошибку:
/Users/dennischen/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for main() in -lobjc... yes
creating Makefile
make
compiling rr.cpp
clang: warning: argument unused during compilation: '-rdynamic'
rr.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
1 warning generated.
compiling v8.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_array.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_callbacks.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_context.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_date.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_debug.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_exception.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_exception.cpp:10:16: warning: unused variable 'stack' [-Wunused-variable]
static void* stack[20];
^
1 warning generated.
compiling v8_external.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_external.cpp:10:9: warning: unused variable 'references' [-Wunused-variable]
VALUE references;
^
1 warning generated.
compiling v8_function.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_handle.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_locker.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_locker.cpp:45:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
v8_locker.cpp:85:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
2 warnings generated.
compiling v8_message.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_object.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_object.cpp:77:19: warning: unused variable 'proto' [-Wunused-variable]
Handle<Value> proto(rr_rb2v8(prototype));
^
1 warning generated.
compiling v8_script.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_string.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_template.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_try_catch.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_v8.cpp
clang: warning: argument unused during compilation: '-rdynamic'
compiling v8_value.cpp
clang: warning: argument unused during compilation: '-rdynamic'
v8_value.cpp:100:9: warning: unused function 'ToInt32' [-Wunused-function]
VALUE ToInt32(VALUE self) {
^
1 warning generated.
compiling v8_weakref.cpp
clang: warning: argument unused during compilation: '-rdynamic'
linking shared-object v8.bundle
clang: error: no such file or directory: '/Users/dennischen/.rvm/gems/ruby-1.9.3-p194@panini/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a'
make: *** [v8.bundle] Error 1
может кто-нибудь помочь мне выяснить, как получить этот камень в работе? У меня установлены средства командной строки.
Если вы решили использовать новее therubyracer
гем версии, вы больше не будете иметь эту проблему
В противном случае:
brew tap homebrew/dupes # Thanks Tom
brew install apple-gcc42
export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2
export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2
brew uninstall v8
gem uninstall libv8
gem install therubyracer -v '0.10.2' # specify version
Так что я, наконец, получил это работает после некоторой борьбы... спасибо Симону и Альваро.
У меня есть одна вещь, чтобы добавить, используя флаг --с-системы В8 не работает для меня... так что я удалил мой системе V8 с
зелье удалить В8`
И запустить
камень установить libv8
Если вы уже запустили камень установить libv8 с системой флаг В8 будьте уверены, чтобы удалить этот камень версия (делать это
камень удалить libv8`). Главное, что вы должны'т использовать один предоставленную самогон, это не похоже на работу в Маверикс (он устанавливается ну и упаковщик сообщит, что ваш пакет будет завершена, но приложение будет сбой при попытке использовать двигатель V8).
brew install apple-gcc42
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp
brew uninstall v8
gem install libv8
gem install therubyracer
У меня была такая же проблема, это работает для меня:
therubyracer (0.10.2) & libv8 (3.3.10.4)
В первую очередь:
ССЗ
, cpp
, а г++
) в /usr/местные/погреб/компания Apple-gcc42/4.2.1-5666.3/бин/<компилятор>
После, вы могли бы попробовать это:
варить установки V8
камень установить libv8 -в '3.3.10.4' -- --С-системы В8
камень установить therubyracer -в 'therubyracer'
или пакет установки
в каталог проекта рельсы.Я просто была такая же проблема и решения в настоящее время использовать компания Apple-gcc42 вместо лязг в сборе драгоценных камней :
brew install apple-gcc42
И затем у вас есть выбор между делать некоторые симлинки в /usr/bin для {ССЗ,г++,с++} двоичные файлы :
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp
На самом деле Г++ должно быть достаточно.
Или...вы могли бы экспортировать куб./СХХ/среды УОЗ переменные с пути, соответствующие двоичные файлы, созданные доморощенного. Что'ы, конечно, чище решение.
В третьих, можно скачать Xcode 4.6.3 и установить его в приложения каталог. Затем, введите в терминале:
sudo xcode-select --switch /Applications/Xcode4.6.3.app/Contents/Developer
gem install therubyracer
Когда гем был установлен, вы можете переключиться обратно в Xcode 5.0 :
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Я нашел обходной путь, который работал без установки компании Apple-gcc42.
Это будет работать, если сообщение об ошибке вы'повторного получения выглядит так:
clang: error: no such file or directory: '/Users/mscottford/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a'
Тогда вы должны быть в состоянии сделать следующее:
brew install v8
bundle install
# after failing create link from brew installed v8 to error location
ln -s /usr/local/Cellar/v8/3.21.17/lib/libv8_base.x64.a /Users/mscottford/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a
bundle install
Источник: https://github.com/cowboyd/therubyracer/issues/277#issuecomment-27734348
Мне удается установить therubyracer 0,12 и libv8 3.16.14.3 на Ruby 2.0.0p353 и ОС х 10.9
libv8 требует gcc42
brew install v8
brew install apple-gcc42
sudo ln -sf /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -sf /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -sf /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp
gem install libv8
therubyracer требует позже ССЗ
brew install gcc49
sudo ln -sf /usr/local/Cellar/gcc49/4.9-20131110/bin/gcc-4.9 /usr/bin/gcc
sudo ln -sf /usr/local/Cellar/gcc49/4.9-20131110/bin/g++-4.9 /usr/bin/g++
sudo ln -sf /usr/local/Cellar/gcc49/4.9-20131110/bin/cpp-4.9 /usr/bin/cpp
Файле
gem 'therubyracer', :require => 'v8', :platforms => :ruby
используйте пакет
вместо камень установить therubyracer
Как полагают во многих ответах, проще всего сделать это, чтобы скомпилировать Руби родной гонщик расширения с Apple на GCC 4.2 (вместо версии с Xcode).
Если вы'повторно с помощью системы MacPorts вы должны'т придется разбираться вручную с созданием символических ссылок на файлы ССЗ. Команда порт выберите
сделает это за вас. Если вы еще'т обновленные системы MacPorts после установки Маверикс, сделать порт судо самостоятельно обновиться`. С помощью системы MacPorts до-до-даты, попробуйте следующее:
# If you don't have it, install the port for Apple's GCC 4.2
sudo port install apple-gcc42
# OR
# If you had apple-gcc42 already (before Mavericks), update it
sudo port upgrade apple-gcc42
# Same result as manual symlinking of GCC in other answers
sudo port select gcc apple-gcc42 && hash -r
# Install therubyracer, will install libv8 gem dependency
# *note* if you have any existing versions of these gems, remove them
gem install therubyracer
# Restore GCC to system default (optional)
sudo port select gcc none && hash -r
В целом эта процедура (судо порт выберите ССЗ [версия]
) будет работать в любое время вы хотите использовать определенную версию GCC вместо устанавливаемой с помощью Xcode (LLVM с яблоком V5 для 10.9 Маверикс/в Xcode 5).
Это должно быть надежным и чистым способом (без ссылки), чтобы установить therubyracer для любой проблемы.
Взято из: https://stackoverflow.com/questions/27747066/gem-install-therubyracer-v-0-11-4-fails-on-os-x-10-10
установите Xcode (если вы Don'т уже есть одна из этих версий) 6.1.1, 6.2-6.3 бета или бета-версии (это нужно) 4.6.3
попробуй удалить libv8-если вы не'т сделали этого
переключатель в Xcode 4.6.3
` судо в Xcode-выбрать --переключатель /приложения/Xcode4.6.3.приложение/содержание/разработчика
камень установить libv8 -в '3.11.8.17'
или в зависимости от версии привязывается к вашей версии therubyracer
переключатель в Xcode 6.1.1, 6.2-6.3 или бета-бета (или если вы хотите попробовать свои текущие установки в Xcode, корректировать эту линию, я'вэ подтвердил все эти 3 работы)
` судо в Xcode-выбрать --переключатель /приложения/Xcode6.1.1.приложение/содержание/разработчика
камень установить therubyracer -в '0.11.4'
или версия, которую вы'вновь пытается установить.
У меня была почти идентичная ошибка при попытке установить therubyracer 0.12.0, чтобы заставить его работать с libv8. Этот работал для меня:
$ brew upgrade gcc
$ gem uninstall therubyracer
$ gem uninstall libv8
$ gem install therubyracer -v '0.12.0'
Fetching: therubyracer-0.12.0.gem (100%)
Building native extensions. This could take a while...
Successfully installed therubyracer-0.12.0
1 gem installed
$ gem install libv8 -v '3.16.14.3' -- --with-system-v8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions with: '--with-system-v8'
This could take a while...
Successfully installed libv8-3.16.14.3
1 gem installed
У меня была такая проблема после обновления из системы Mavericks до Yosemite. Вопрос в том, что я составил мой рубиновый версию с более старой версией операционной системы OSX.
Если бы я побежал
Руби -библиотек RubyGems -э 'кладет камень::платформа.новый(RUBY_PLATFORM)'
Я бы архитектуру x86_64-Дарвин-13 "вместо" архитектуру x86_64-Дарвин-14 для Йосемити.
Чтобы повторно установить Ruby я
РВМ удалить рубиново-2.1.1
РВМ переустановить --отключить-бинарные 2.1
Тогда я смог запустить пакет установки
без ошибок после пытаюсь все вышеперечисленные решения.
У меня была эта же проблема когда я обновил у себя на OSX горный лев для OSX Маверикс.
Обновление из Ruby-1.8.7-p354 в Ruby-1.8.7-375 сделал трюк для меня.
Может быть, попробовать обновить из Ruby 1.9.3-p194, чтобы ник1 (1.9.3 сейчас выше p484)
предполагая, что вы использовать rbenv:
rbenv install 1.9.3-rc1
rbenv rehash
rbenv global 1.9.3-rc1
bundle install
Что я на OSX Маверикс:
git clone [email protected]:cowboyd/therubyracer.git
Затем:
gem build therubyracer.gemspec
gem install therubyracer-0.12.1.gem
Эта процедура скачал бинарную версию libv8 и установил его.