gpt4 book ai didi

ruby-on-rails - bson_ext gem 在 macOS 上安装失败

转载 作者:行者123 更新时间:2023-12-03 13:43:25 26 4
gpt4 key购买 nike

我坚持使用 1.5.1 版本安装 bson_ext gem。我已经尝试了几乎所有我在网上找到的东西,但没有任何帮助。
我尝试重新安装 ruby​​、rvm 等。
我在用:

  • RVM
  • MacOs Catalina 10.15.6
  • ruby 2.6.5

  • 在捆绑安装后,我得到了这样的日志:
    Fetching bson_ext 1.5.1
    Installing bson_ext 1.5.1 with native extensions
    Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/lukasz/.rvm/gems/ruby-2.6.5/gems/bson_ext-1.5.1/ext/cbson
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/bin/ruby -I /Users/lukasz/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0 -r ./siteconf20201001-15946-1sze5ll.rb extconf.rb
    checking for asprintf()... yes
    checking for ruby/st.h... yes
    checking for ruby/regex.h... yes
    checking for ruby/encoding.h... yes
    creating Makefile

    current directory: /Users/lukasz/.rvm/gems/ruby-2.6.5/gems/bson_ext-1.5.1/ext/cbson
    make "DESTDIR=" clean

    current directory: /Users/lukasz/.rvm/gems/ruby-2.6.5/gems/bson_ext-1.5.1/ext/cbson
    make "DESTDIR="
    compiling bson_buffer.c
    compiling cbson.c
    cbson.c:118:36: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
    result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
    ^~~~~~~~~~~~~~~~~~~
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:1003:5: note: expanded from macro 'RSTRING_PTR'
    (!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ./encoding_helpers.h:26:44: note: passing argument to parameter 'string' here
    result_t check_string(const unsigned char* string, const int length,
    ^
    cbson.c:118:57: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
    ~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:1000:6: note: expanded from macro 'RSTRING_LEN'
    RSTRING_EMBED_LEN(str) : \
    ^~~~~~~~~~~~~~~~~~~~~~
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:996:6: note: expanded from macro 'RSTRING_EMBED_LEN'
    (long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    cbson.c:118:57: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    result_t status = check_string(RSTRING_PTR(string), RSTRING_LEN(string),
    ~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:1001:28: note: expanded from macro 'RSTRING_LEN'
    RSTRING(str)->as.heap.len)
    ~~~~~~~~~~~~~~~~~~~~~~^~~
    cbson.c:128:45: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    SAFE_WRITE(buffer, RSTRING_PTR(string), RSTRING_LEN(string));
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:1000:6: note: expanded from macro 'RSTRING_LEN'
    RSTRING_EMBED_LEN(str) : \
    ^
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:996:6: note: expanded from macro 'RSTRING_EMBED_LEN'
    (long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
    ^
    cbson.c:68:46: note: expanded from macro 'SAFE_WRITE'
    if (bson_buffer_write((buffer), (data), (size)) != 0) \
    ~~~~~~~~~~~~~~~~~ ^~~~
    cbson.c:128:45: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
    SAFE_WRITE(buffer, RSTRING_PTR(string), RSTRING_LEN(string));
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
    /Users/lukasz/.rvm/rubies/ruby-2.6.5/include/ruby-2.6.0/ruby/ruby.h:1001:28: note: expanded from macro 'RSTRING_LEN'
    RSTRING(str)->as.heap.len)
    ^
    cbson.c:68:46: note: expanded from macro 'SAFE_WRITE'
    if (bson_buffer_write((buffer), (data), (size)) != 0) \
    ~~~~~~~~~~~~~~~~~ ^~~~
    cbson.c:303:20: warning: unused variable 'values' [-Wunused-variable]
    VALUE* values;
    ^
    cbson.c:602:18: error: implicit declaration of function 'bson_buffer_get_max_size' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    if (length > bson_buffer_get_max_size(buffer)) {
    ^
    cbson.c:602:18: note: did you mean 'bson_buffer_set_max_size'?
    ./bson_buffer.h:34:6: note: 'bson_buffer_set_max_size' declared here
    void bson_buffer_set_max_size(bson_buffer_t buffer, int max_size);
    ^
    6 warnings and 1 error generated.
    make: *** [cbson.o] Error 1

    make failed, exit code 2

    Gem files will remain installed in /Users/lukasz/.rvm/gems/ruby-2.6.5/gems/bson_ext-1.5.1 for inspection.
    Results logged to /Users/lukasz/.rvm/gems/ruby-2.6.5/extensions/x86_64-darwin-19/2.6.0/bson_ext-1.5.1/gem_make.out

    An error occurred while installing bson_ext (1.5.1), and Bundler cannot continue.
    Make sure that `gem install bson_ext -v '1.5.1' --source 'https://rubygems.org/'` succeeds before bundling.

    In Gemfile:
    bson_ext
    任何人都知道我还能尝试什么?
    另外我可以说 bson_ext 与其他版本如 1.9.1 安装成功。但是在这个项目中我必须使用 1.5.1。

    最佳答案

    这在 MacOS 11.2 上对我有用。gem install bson_ext -v '1.5.1' --source 'https://rubygems.org/' -- --with-cflags="-Wno-error=implicit-function-declaration"

    关于ruby-on-rails - bson_ext gem 在 macOS 上安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64152703/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com