我正在使用Lando(Windows 10 Enterprise上为v3.0.0-rc.21)并尝试在.lando.yml
中的容器创建时设置环境变量:
services:
appserver:
type: ruby # the same for php, but didn't tested other types
run:
- export SOMENAME=somevalue
tooling:
test:
cmd: export SOMENAME=somevalue
service: appserver
看来Lando启动时无法识别该命令,因为它会抛出:
OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"export\": executable file not found in $PATH": unknown
或在
lando ssh -c "export SOMENAME=somevalue"
上将其作为命令添加到.lando.yml
的工具部分(参见上文),然后运行lando test
时,会发生非常相同的错误。但是,在Lando启动后从
lando ssh
运行相同的命令可以正常工作:lando ssh
www-data@81bd623b9c3a:/app$ export SOMENAME=somevalue
www-data@81bd623b9c3a:/app$ printenv SOMENAME
somevalue
www-data@81bd623b9c3a:/app$
这是Lando的错误吗?或者某些(哪些?)shell命令应该以某种不同的方式调用?
最佳答案
您可以在lando yaml中使用此env_file
:
env_file:
- defaults.env
在
defaults.env
中:SOMENAME=somevalue
见this
关于bash - Lando:环境变量导致exec错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58303293/