我正在尝试将我们的 Ruby 版本从 2.7.4 更新到 3.0.2。如果我bundle
在本地机器上,我会收到此错误:
rmimage.c:12960:1: error: implicit declaration of function 'C__Bool_to_R__Bool' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
DEF_ATTR_ACCESSOR(Image, start_loop, bool)
^
./rmagick.h:460:5: note: expanded from macro 'DEF_ATTR_ACCESSOR'
DEF_ATTR_READER(class, attr, type)\
^
./rmagick.h:417:16: note: expanded from macro 'DEF_ATTR_READER'
return C_##type##_to_R_##type(ptr->attr);\
^
如果使用 Docker,我会设法使用 构建映像ruby:3.0.2-alpine3.12
,但是如果我尝试将项目加载到容器中,则会出现此错误:
LoadError:
Error relocating /app/vendor/bundle/ruby/3.0.0/gems/rmagick-3.2.0/lib/RMagick2.so: R__Bool_to_C__Bool: symbol not found - /app/vendor/bundle/ruby/3.0.0/gems/rmagick-3.2.0/lib/RMagick2.so
我不知道出了什么问题以及如何继续,所以任何帮助将不胜感激!