执行docker compose up --build时出现LoadError: ox/ox错误求助
解决
LoadError: cannot load such file -- ox/ox 问题 - 检查Gem依赖:
你没接触过ox不代表项目(或依赖的Gem)没间接引入这个Ruby库。先确认项目的Gemfile或Gemfile.lock里是否有ox的记录,Docker构建过程中必须执行bundle install来安装所有依赖。 - 强制清除缓存重新构建:
缓存可能导致依赖未正确安装,构建时跳过缓存:
或者在Dockerfile的docker compose build --no-cachebundle install命令里添加--no-cache参数:RUN bundle install --no-cache - 补充系统编译依赖:
ox是Ruby原生扩展,需要编译器和Ruby开发包。如果用Debian/Ubuntu系基础镜像,在Dockerfile里先安装依赖:RUN apt-get update && apt-get install -y gcc ruby-dev make - 排查间接依赖来源:
在本地或容器内执行bundle why ox命令,查看哪个Gem依赖了ox,如果是不必要的依赖,可尝试移除对应Gem来避免加载ox。 - 检查Gem源有效性:
若网络环境导致Gem安装失败,可在Dockerfile里替换为稳定的Gem源:RUN gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
内容的提问来源于stack exchange,提问作者mf24
相关产品推荐
相关产品推荐

