我正在使用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/

10-13 07:20