gpt4 book ai didi

build - 构建后删除 .a 文件 - GoLang

转载 作者:IT王子 更新时间:2023-10-29 02:05:37 33 4
gpt4 key购买 nike

我目前正在使用 fresh在我的项目中任何源文件的每次更改时重建并重新启动网络服务器。

它工作正常。但是,一段时间后,文件会在 pkg 目录中创建。这导致刷新不再发生,原因是它不是获取源文件(.go 文件)来构建二进制文件,而是获取 .a 文件。我怎样才能避免这个功能?

添加信息:

文件:与main.go同级的runner.conf

root: .
tmp_path: ./tmp
build_name: bin/app.bin
build_log: runner-build-errors.log
valid_ext: .go, .tpl, .tmpl, .html
build_delay: 600
colors: 1
log_color_main: cyan
log_color_build: yellow
log_color_runner: green
log_color_watcher: magenta
log_color_app:
ignore_dirs: ./pkg

根本不工作:

13:39:48 watcher     | Watching .
13:39:48 watcher | Watching bin
13:39:48 watcher | Watching pkg
13:39:48 watcher | Watching pkg/darwin_amd64
13:39:48 watcher | Watching public
13:39:48 watcher | Watching src
13:39:48 watcher | Watching src/site.org
13:39:48 watcher | Watching src/site.org/application
13:39:48 watcher | Watching src/site.org/application/controllers
13:39:48 watcher | Watching src/site.org/application/controllers/web
13:39:48 watcher | Watching src/site.org/system

修复

最后,我没能成功。但是,我使用这个插件创建了一个解决方案:

https://github.com/alexnj/SublimeOnSaveBuild

它试图在保存的基础上构建,我已经创建了这个构建系统(称为 GoLang):

{
"shell_cmd": "sh /Users/acruz/go_projects/build_go.sh \"$project_path\"",
"working_dir": "${project_path}"
}

build_go.sh 文件是:

#!/bin/sh
echo "Removing PKG folder if exists"
rm -Rf pkg

echo "Building application"
go build -o bin/app.bin main.go

echo "Killing application"
killall app.bin

echo "Running application ./bin/app.bin"
echo ""
echo "Debug information:"
echo ""

./bin/app.bin

@TODO 将在项目配置中定义二进制文件的名称...但对我来说这没问题。这样做的好处之一是您不必添加 -a 标志,这会使编译过程变慢,并且调试信息将显示在构建窗口中......

Debug information

最佳答案

你可以改变$GOPATH/src/github.com/pilu/fresh/runner/build.go#L13

cmd := exec.Command("go", "build", "-o", buildPath(), root())

成为

cmd := exec.Command("go", "build", "-a", "-o", buildPath(), root())

然后

go install -a github.com/pilu/fresh

flag -a 强制重新编译 .a 文件

关于build - 构建后删除 .a 文件 - GoLang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27694779/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com