我正在构建一个 Wasm 应用程序并编译它,我有一个 shell 脚本。当我从终端手动运行它时,我有以下内容:/app/Go/assets$ ./script.compile.wasm.sh Wasm compiled该文件的内容是:#!/bin/shGOOS=js GOARCH=wasm go build -o ./app.wasm ./wasm.goecho "Wasm compiled"wasm 文件已正确编译。但是当我从 Docker 运行它时,我得到:Step 15/20 : RUN ./assets/compile.wasm.sh ---> Running in 38dd56259b0fgo: cannot find main module; see 'go help modules'Wasm compiled编译失败。Docker 行如下所示:RUN ./assets/compile.wasm.sh
1 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
在您的本地情况下,您是从assets目录启动脚本;在 Dockerfile 案例中,您从其父目录启动它。这很重要,因为当脚本引用类似的文件时./wasm.go,这些文件是相对于当前目录而不是包含脚本的目录解析的。
您可以通过确保您也在assetsDockerfile 的目录中来解决此问题:
# Only for this command; will reset afterwards
RUN cd assets && ./compile.wasm.sh
# For this and all following commands, unless reset with another WORKDIR
WORKDIR /app/Go/assets
RUN ./compile.wasm.sh
- 1 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消
