我正在使用我的Rails应用程序处理phusion/passenger-ruby24
Docker镜像。
我的申请位于/<company>/app
,我的宝石位于/<company>/app_dependencies
。
当我执行bundle exec passenger start
时,无法找到宝石(预期)。但是,当我在环境中将BUNDLE_PATH
设置为/<company>/app_dependencies>
时,它不会传播到应用程序环境。我可以通过运行bundle exec 'echo $BUNDLE_PATH'
来验证这一点。
我已经能够通过创建/<company>/app/.bundle/config
并在那里设置BUNDLE_PATH
来绕过此问题。虽然它有效,但它并不是最佳的。
我尝试将变量强制进入应用程序环境,如下所示:
BUNDLE_PATH=/<company>/app_dependencies bundle exec passenger start
和
bundle exec passenger start --envvar BUNDLE_PATH=/<company>/app_dependencies
奇怪的是,其他环境变量通过而没有问题。BUNDLE_PATH
未被设置。我不知道还有什么可以尝试,虽然我有一些解决方法,但我希望能够设置env var,这是更正确的方法。
感谢。