找不到主模块;见“去帮助模块”

我正在构建一个 Wasm 应用程序并编译它,我有一个 shell 脚本。当我从终端手动运行它时,我有以下内容:


/app/Go/assets$ ./script.compile.wasm.sh 

Wasm compiled

该文件的内容是:


#!/bin/sh

GOOS=js GOARCH=wasm go build -o ./app.wasm ./wasm.go

echo "Wasm compiled"

wasm 文件已正确编译。


但是当我从 Docker 运行它时,我得到:


Step 15/20 : RUN ./assets/compile.wasm.sh

 ---> Running in 38dd56259b0f

go: cannot find main module; see 'go help modules'

Wasm compiled

编译失败。


Docker 行如下所示:


RUN ./assets/compile.wasm.sh


哔哔one
浏览 141回答 1
1回答

一只名叫tom的猫

在您的本地情况下,您是从assets目录启动脚本;在 Dockerfile 案例中,您从其父目录启动它。这很重要,因为当脚本引用类似的文件时./wasm.go,这些文件是相对于当前目录而不是包含脚本的目录解析的。您可以通过确保您也在assetsDockerfile 的目录中来解决此问题:# Only for this command; will reset afterwardsRUN cd assets && ./compile.wasm.sh# For this and all following commands, unless reset with another WORKDIRWORKDIR /app/Go/assetsRUN ./compile.wasm.sh
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go