gpt4 book ai didi

ruby - 我如何指示 Capistrano 3 加载我在远程主机上设置的 shell 环境变量?

转载 作者:数据小太阳 更新时间:2023-10-29 06:40:38 26 4
gpt4 key购买 nike

我想指示 Capistrano 加载在远程服务器上定义的环境变量。我该怎么做?

似乎当我在 .bashrc 文件中导出我的环境变量时,Capistrano 没有考虑它们。 Capistrano 似乎正在执行 /usr/bin/env 来创建执行远程命令的环境,但这似乎并没有从 .bashrc 加载环境变量。

我还要告诉你,我也在使用 rvm-capistrano(以防万一它可能有帮助)。

有什么线索吗?

最佳答案

Capistrano 实际上确实加载.bashrc。但在文件顶部附近,您会发现以下行之一:

# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac

如果您在上述行之后执行任何exporting,Capistrano 将无法访问它。解决方案只是将我的设置移到这条线之上——Capistrano 会按我想要的方式工作。

此解决方案也记录在 this GitHub issue 中.

关于ruby - 我如何指示 Capistrano 3 加载我在远程主机上设置的 shell 环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25479348/

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