是否可以将工作目录设置为不同的路径?例如,我想从根路径运行go build,但我的源代码在不同的目录下,我不想将cd转到它。例如,NPM具有用于此目的的--prefix。
go build
cd
--prefix
fhity93d1#
是的,有可能。
go build -o [output file path/name] [source code file path/name]
例如,如果源代码文件位于projectdir/code/src/中,并且要生成输出并将其保存到projectdir/code/out,请执行以下操作:
projectdir/code/src/
projectdir/code/out
$ go build -o projectdir/code/out/main projectdir/code/src/main.go
根据go build文件:如果指定的输出是一个现有的目录或者以斜杠或反斜杠结尾,则任何生成的可执行文件都将写入该目录。所以我们上面的build命令可以重写如下:
go build -o projectdir/code/out/ projectdir/code/src/main.go
并且它将在projectdir/code/out/目录中生成名为main的可执行文件。有关详细信息,请运行go help build
projectdir/code/out/
main
go help build
vi4fp9gy2#
不,这在1.19版本中是不可能的。只要cd就可以了。Go语言1.20(尚未发布)带来了-C标志,这可能正是您想要的。
2条答案
按热度按时间fhity93d1#
是的,有可能。
例如,如果源代码文件位于
projectdir/code/src/
中,并且要生成输出并将其保存到projectdir/code/out
,请执行以下操作:根据
go build
文件:如果指定的输出是一个现有的目录或者以斜杠或反斜杠结尾,则任何生成的可执行文件都将写入该目录。
所以我们上面的build命令可以重写如下:
并且它将在
projectdir/code/out/
目录中生成名为main
的可执行文件。有关详细信息,请运行
go help build
vi4fp9gy2#
不,这在1.19版本中是不可能的。只要cd就可以了。
Go语言1.20(尚未发布)带来了-C标志,这可能正是您想要的。