Docker部署Rails:开发环境正常,预发布环境启动失败求助
预发布环境Rails应用启动失败:未初始化常量CalsShibGem::Lib::CalsShib
- 开发环境:Ubuntu LTS 22.04、Docker、Rails 7.1、Puma v6.4.2,运行完全正常
- 预发布环境:使用与开发环境同版本的Ubuntu、Docker、Rails、Puma,新增Apache服务,启动失败
报错信息如下:
Puma starting in single mode... * Puma version: 6.4.2 (ruby 3.2.4-p170) ("The Eagle of Durango") * Min threads: 5 * Max threads: 5 * Environment: staging * PID: 132 ! Unable to load application: NameError: uninitialized constant CalsShibGem::Lib::CalsShib bundler: failed to load command: puma (/usr/local/bundle/bin/puma) /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/eager_load.rb:180:in `const_get': uninitialized constant CalsShibGem::Lib::CalsShib (NameError) queue << [abspath, namespace.const_get(cname, false)] ^^^^^^^^^^ from /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/eager_load.rb:180:in `block in actual_eager_load_dir' from /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/helpers.rb:47:in `block in ls' from /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/helpers.rb:25:in `each' from /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/helpers.rb:25:in `ls' from /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/eager_load.rb:168:in `actual_eager_load_dir' from /usr/local/bundle/gems/zeitwerk-2.6.16/lib/zeitwerk/loader/eager_load.rb:17:in `block (2 levels) in eager_load'
CalsShibGem是存放在Rails应用/lib/目录下的自定义gem,我已准备好Gemfile、config/puma.rb、Dockerfile.staging、docker-compose.staging.yml、docker_entrypoint_staging.sh等相关配置文件,请问有没有人遇到过类似问题?
感谢帮助!
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

