猿问

构建后删除 .a 文件 - GoLang

我目前正在使用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 标志,这会使编译过程变慢,并且调试信息将显示在构建窗口中...

守候你守候我
浏览 140回答 2
2回答
随时随地看视频慕课网APP

相关分类

Go
我要回答