我正在尝试将~/.aws
复制到我的泊坞窗容器中。但是我在运行git-bash
的Windows机器上,这似乎导致了一些问题。
到目前为止我尝试了两件事:
"d-aws-copy": "docker cp ~/.aws constraint-listener:/usr/src/app"
结果:GetFileAttributesEx C:\work\project-name\~: The system cannot find the file specified.
"d-aws-copy": "docker cp /c/Users/user-name-here/.aws constraint-listener:/usr/src/app",
结果:GetFileAttributesEx C:\c: The system cannot find the file specified.
我看到的涉及代字号扩展的所有解决方案都是针对节点代码的,而不是针对命令行npm脚本。
如果我从bash运行docker cp ~/.aws constraint-listener:/usr/src/app
它可以正常工作。但是在一个npm脚本里面它崩溃了,如上所示。
如何让~
在Windows机器上的npm脚本中工作?
答案 0 :(得分:0)
解决方案是直接致电bash
:
"d-copy-aws": "bash -c \"docker cp ~/.aws constraint-listener:/root\" && echo aws credentials copied",
答案 1 :(得分:0)
从Node调用时,您使用的是标准shell,可能是Windows上的CMD。它不会对波浪号进行插值。使用独立于平台的变量或检测平台并使用process.env查找$ HOME或$ WINHOME的值 - 具体取决于操作系统。
编辑:没看到它是NPM脚本......错过了标签。想到提到Node的问题。