установить старую версию therubyracer (v0.9.10) в Mac Mojave - PullRequest
0 голосов
/ 22 апреля 2019

Я впервые с рубином на рельсах.

Я клонировал этот проект из github.

https://github.com/fredwu/angel_nest

Мне потребовалось некоторое время, чтобы настроить и разобраться. У меня много проблем с совместимостью, так как этот проект был сделан очень давно.

когда я делаю "комплектную установку"
Я получаю эту ошибку, и сборщик останавливается.

Gem :: Installer :: ExtensionBuildError: ОШИБКА: не удалось создать собственное расширение для gem. /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/bin/ruby extconf.rb проверяет main () в -lobjc ... yes создает Makefile

сделать компиляцию v8_external.cpp clang: warning: аргумент не используется во время компиляция: '-rdynamic' [-Wunused-аргумент командной строки] v8_external.cpp: 10: 9: предупреждение: неиспользуемая переменная «ссылки» [-Wunused-variable] VALUE ссылки; ^ 1 предупреждение сгенерировано. compiling v8_exception.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] v8_exception.cpp: 10: 16: предупреждение: неиспользуемая переменная 'stack' [-Wunused-variable] static void * stack [20]; ^ 1 предупреждение сгенерировано. compiling v8_function.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] компилирует v8_handle.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] компилирует v8_array.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] компилирует v8_try_catch.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] компиляция v8_v8.cpp clang: warning: аргумент, не использованный во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] v8_v8.cpp: 22: 49: предупреждение: неявное преобразование теряет целочисленную точность: от long до int [-Wshorten-64-к-32] V8 :: SetFlagsFromString (RSTRING_PTR (строка), RSTRING_LEN (строка)); ~~ ^ ~~~~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby .h: 674: 6: примечание: расширено от макроса 'RSTRING_LEN' RSTRING_EMBED_LEN (str): \ ^ ~~~~~~~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ ruby.h: 670: 6: примечание: расширено от макроса 'RSTRING_EMBED_LEN' (длинный) ((RBASIC (str) -> flags >> RSTRING_EMBED_LEN_SHIFT) & \ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ v8_v8.cpp: 22: 49: предупреждение: неявное преобразование теряет целочисленную точность: от 'long' до 'int' [-Wshorten-64-to-32] V8 :: SetFlagsFromString (RSTRING_PTR (строка), RSTRING_LEN (строка)); ~~ ^ ~~~~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby .h: 675: 28: примечание: расширено от макроса 'RSTRING_LEN' RSTRING (ул) -> as.heap.len) ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~ 2 сгенерированных предупреждения. compiling v8_callbacks.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] компилирует v8_string.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] v8_string.cpp: 18: 73: предупреждение: неявное преобразование теряет целочисленную точность: от 'long' до 'int' [-Wshorten-64-к-32] return rr_v8_handle_new (string_class, String :: New (RSTRING_PTR (str), RSTRING_LEN (str))); ~~~~~~ ^ ~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby.h:674:6: примечание: расширено от макроса 'RSTRING_LEN' RSTRING_EMBED_LEN (str): \ ^ ~~~~~~~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ ruby.h: 670: 6: примечание: расширено от макроса 'RSTRING_EMBED_LEN' (длинный) ((RBASIC (str) -> flags >> RSTRING_EMBED_LEN_SHIFT) & \^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ v8_string.cpp: 18: 73: предупреждение: неявное преобразование теряет целочисленную точность: от 'long' до 'int' [-Wshorten-64-to-32] return rr_v8_handle_new (string_class, String :: New(RSTRING_PTR (str), RSTRING_LEN (str)));~~~~~~ ^ ~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby.h: 675: 28: примечание: расширен из макроса 'RSTRING_LEN' RSTRING (str) -> as.heap.len) ~~~~~~~~~~~~~~~~~~~~~~^ ~~ v8_string.cpp: 23: 79: предупреждение: неявное преобразование теряет целочисленную точность: от 'long' до 'int' [-Wshorten-64-to-32] return rr_v8_handle_new (string_class, String :: NewSymbol (RSTRING_PTR (str), RSTRING_LEN (str)));~~~~~~ ^ ~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby.h: 674: 6: примечание: расширен из макроса 'RSTRING_LEN' RSTRING_EMBED_LEN (str): \ ^ ~~~~~~~~~~~~~~~~~~~~~ / Пользователи / divyanshuverma /.rvm / rubies / ruby-1.9.3-p551 / include / ruby-1.9.1 / ruby ​​/ ruby.h: 670: 6: примечание: расширен из макроса 'RSTRING_EMBED_LEN' (long) ((RBASIC (str) -> flags>> RSTRING_EMBED_LEN_SHIFT) & \ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ v8_string.cpp: 23: 79: предупреждение: неявное преобразование теряет целочисленную точность: от 'long' до 'int' [-Wshorten-64-to-32] return rr_v8_handle_new (string_class, String :: NewSymbol (RSTRING_PTR (str), RSTRING_LEN (str))); ~~~~~~ ^ ~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby.h:675:28: примечание: расширен из макроса 'RSTRING_LEN' RSTRING (str) -> as.heap.len) ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~ 4 сгенерированных предупреждения.Компиляция v8_message.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] Компиляция rr.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-command-Строковый аргумент] rr.cpp: 48: 1: предупреждение: элемент управления достигает конца недействительной функции [-Wreturn-type]} ^ rr.cpp: 151: 44: предупреждение: неявное преобразование теряет целочисленную точность: от 'long' до'int' [-Wshorten-64-to-32] return String :: New (RSTRING_PTR (значение), RSTRING_LEN (значение));~~~~~~ ^ ~~~~~~~~~~~~~~~~~ /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby / ruby.h: 674: 6: примечание: расширен из макроса 'RSTRING_LEN' RSTRING_EMBED_LEN (str): \ ^ ~~~~~~~~~~~~~~~~~~~~~~ Users / divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/include/ruby-1.9.1/ruby/ruby.h:670:6: note: расширен из макроса 'RSTRING_EMBED_LEN' (long) ((RBASIC (str) -> flags >> RSTRING_EMBED_LEN_SHIFT) & \ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rr.cpp: 151: 44: предупреждение: неявное преобразование теряет целочисленную точность: от long до int [-Wshorten-64-to-32] returnString :: New (RSTRING_PTR (значение), RSTRING_LEN (значение)); ~~~~~~ ^ ~~~~~~~~~~~~~~~~~/Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551 / include / ruby-1.9.1 / ruby ​​/ ruby.h: 675: 28: примечание: расширен из макроса 'RSTRING_LEN' RSTRING (str) -> as.heap.len) ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~ 3 сгенерированных предупреждения.Компиляция v8_weakref.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки]строка-аргумент] компиляция v8_date.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки]Wunused-command-line-аргумент] компиляция v8_value.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic'[-Wunused-аргумент командной строки] v8_value.cpp: 100: 9: предупреждение: не используется function 'ToInt32' [-Wunused-function] VALUE ToInt32 (VALUE self) { ^ 1 предупреждение сгенерировано. compiling v8_object.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] v8_object.cpp: 77: 19: предупреждение: не используется переменная 'proto' [-Wunused-variable] Обрабатывать прото (rr_rb2v8 (прототип)); ^ 1 предупреждение сгенерировано. compiling v8_locker.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] v8_locker.cpp: 45: 5: предупреждение: управление достигает конца не пустой функции [-Wreturn-type] } ^ v8_locker.cpp: 85: 5: предупреждение: управление достигает конца не пустой функции [-Wreturn-type] } ^ 2 предупреждения сгенерированы. compiling v8_template.cpp clang: warning: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] компилирует v8.cpp clang: warning: аргумент, не использованный во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки], компилирующий v8_context.cpp clang: предупреждение: аргумент не используется во время компиляции: '-rdynamic' [-Wunused-аргумент командной строки] связывание разделяемого объекта v8.bundle clang: ошибка: нет такого файла или каталога: '/Users/divyanshuverma/angel_nest/vendor/cache/ruby/1.9.1/gems/libv8-3.3.10.4/lib/libv8/build/v8/libv8.a' make: *** [v8.bundle] Ошибка 1

Gem файлы останутся установленными в /Users/divyanshuverma/angel_nest/vendor/cache/ruby/1.9.1/gems/therubyracer-0.9.10 для проверки. Результаты вошли в /Users/divyanshuverma/angel_nest/vendor/cache/ruby/1.9.1/gems/therubyracer-0.9.10/ext/v8/gem_make.out Произошла ошибка при установке therubyracer (0.9.10) и Bundler не может продолжаться Убедитесь, что gem install therubyracer -v '0.9.10' Успешно перед упаковкой.

Я перепробовал все подходы, доступные в stackoverflow для этого метода, но ни один не работает! Есть ли способ переопределить требования этого драгоценного камня внести изменения, так что проект работает на более новой версии therubyracer gem

1 Ответ

1 голос
/ 22 апреля 2019

Эта версия заблокирована только Gemfile.lock, что означает, что в самом проекте, вероятно, нет особых требований.

Вы можете попробовать обновить только этот драгоценный камень без полного bundle update с помощью: bundle update therubyracer, скорее всего, более новая версия подойдет.

...