在mac mojave上安装较旧版本的therubyracer(v0.9.10)gem

时间:2019-04-22 10:15:05

标签: ruby-on-rails ruby rubygems therubyracer

这是我第一次带红宝石。

我从github克隆了这个项目。

https://github.com/fredwu/angel_nest

我花了一些时间来设置和弄清楚事情。 这个项目是很久以前制作的,我遇到很多兼容性问题。

当我进行“捆绑安装”时
我收到此错误,捆绑程序停止了。

  

Gem :: Installer :: ExtensionBuildError:错误:无法生成gem本机扩展。           /Users/divyanshuverma/.rvm/rubies/ruby-1.9.3-p551/bin/ruby extconf.rb检查-lobjc中的main()...是创建Makefile

     

进行编译v8_external.cpp clang:警告:参数在执行期间未使用   编译:'-rdynamic'[-Wunused命令行参数]   v8_external.cpp:10:9:警告:未使用的变量'引用'   [-Wunused-variable] VALUE个引用;           ^ 1个警告生成。编译v8_exception.cpp clang:警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument] v8_exception.cpp:10:16:警告:   未使用的变量'stack'[-Wunused-variable] static void * stack [20];                  ^ 1个警告生成。编译v8_function.cpp clang:警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8_handle.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8_array.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8_try_catch.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8_v8.cpp clang:警告:   编译期间未使用的参数:“-rdynamic”   [-Wunused-command-line-argument] v8_v8.cpp:22:49:警告:隐式   转换失去整数精度:“ long”到“ int”   [-Wshorten-64-to-32]       V8 :: SetFlagsFromString(RSTRING_PTR(string),RSTRING_LEN(string));       ~~ ^ ~~~~~~~~~~~~~~~~~ / 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”扩展        (long)(((RBASIC(str)-> flags >> RSTRING_EMBED_LEN_SHIFT)&\        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ v8_v8.cpp:22:49:警告:隐式转换失去了整数精度:   'long'到'int'[-Wshorten-64-to-32]       V8 :: SetFlagsFromString(RSTRING_PTR(string),RSTRING_LEN(string));       ~~ ^ ~~~~~~~~~~~~~~~~~ / 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)        ~~~~~~~~~~~~~~~~~~~~~ ^^ ~~产生2条警告。编译v8_callbacks.cpp lang语:警告:编译期间未使用参数:   '-rdynamic'[-Wunused-command-line-argument]编译v8_string.cpp   铛:警告:编译期间未使用的参数:'-rdynamic'   [-Wunused-command-line-argument] v8_string.cpp:18:73:警告:   隐式转换失去整数精度:“ long”到“ int”   [-Wshorten-64-to-32]       返回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”扩展        (long)(((RBASIC(str)-> flags >> RSTRING_EMBED_LEN_SHIFT)&\        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ v8_string.cpp:18:73:警告:隐式转换丢失整数   精度:“ long”到“ int” [-Wshorten-64-to-32]       返回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'to'int'   [-Wshorten-64-to-32]       返回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):        ^ ~~~~~~~~~~~~~~~~~~~~ / Users / 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]       返回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-command-line-argument]编译rr.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument] rr.cpp:48:1:警告:控制权到达   非无效函数的结尾[-Wreturn-type]} ^ rr.cpp:151:44:警告:   隐式转换失去整数精度:“ long”到“ int”   [-Wshorten-64-to-32]       返回String :: New(RSTRING_PTR(value),RSTRING_LEN(value));              ~~~~~~ ^ ~~~~~~~~~~~~~~~~ / Users / divyanshuverma / .rvm / rubies / ruby​​-1.9.3-p551 / include / ruby​​-1.9.1 /红宝石/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”扩展        (long)(((RBASIC(str)-> flags >> RSTRING_EMBED_LEN_SHIFT)&\        ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ rr.cpp:151:44:警告:隐式转换失去整数精度:   'long'到'int'[-Wshorten-64-to-32]       返回String :: New(RSTRING_PTR(value),RSTRING_LEN(value));              ~~~~~~ ^ ~~~~~~~~~~~~~~~~ / Users / divyanshuverma / .rvm / rubies / ruby​​-1.9.3-p551 / include / ruby​​-1.9.1 /红宝石/ruby.h:675:28:   注意:从宏“ RSTRING_LEN”扩展        RSTRING(str)-> as.heap.len)        ~~~~~~~~~~~~~~~~~~~~~ ^ ~~生成3条警告。编译v8_weakref.cpp clang:警告:编译期间未使用参数:   '-rdynamic'[-Wunused-command-line-argument]编译v8_script.cpp   铛:警告:编译期间未使用的参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8_date.cpp clang:警告:   编译期间未使用的参数:“-rdynamic”   [-Wunused-command-line-argument]编译v8_debug.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8_value.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument] v8_value.cpp:100:9:警告:未使用   函数'ToInt32'[-Wunused-function] VALUE ToInt32(VALUE self){           ^ 1个警告生成。编译v8_object.cpp clang:警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument] v8_object.cpp:77:19:警告:未使用   变量'proto'[-Wunused-variable]       处理原型(rr_rb2v8(prototype));                     ^ 1个警告生成。编译v8_locker.cpp clang:警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument] v8_locker.cpp:45:5:警告:控制   到达非无效函数的末尾[-Wreturn-type]       }       ^ v8_locker.cpp:85:5:警告:控制权到达非空函数[-Wreturn-type]的结尾       }       ^产生2条警告。编译v8_template.cpp clang:警告:编译期间未使用参数:'-rdynamic'   [-Wunused-command-line-argument]编译v8.cpp clang:警告:   编译期间未使用的参数:“-rdynamic”   [-Wunused-command-line-argument]编译v8_context.cpp clang:   警告:编译期间未使用参数:'-rdynamic'   [-Wunused-命令行参数]链接共享库v8.bundle   铛:错误:没有这样的文件或目录:   '/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

     

宝石文件将继续安装在   /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上使用此方法的所有方法,但均无效果! 有什么方法可以替代此gem进行更改的要求,以便该项目可以在therubyracer gem的较新版本上工作

1 个答案:

答案 0 :(得分:1)

此版本仅由Gemfile.lock锁定,这意味着项目本身可能没有特定要求。

您可以尝试通过bundle update仅在没有完整bundle update therubyracer的情况下更新此gem,很可能较新的版本也可以。