Я уже могу использовать Go Build, чтобы удалить текущую информацию о каталоге проекта, или я могу удалить информацию Gopath, как показано ниже, теперь я могу удалить только одну из них отдельно
go build -gcflags "all=-trimpath=${GOPATH}" -asmflags "all=-trimpath=${GOPATH}"
Но я не знаю, как их убрать одновременно, я не знаю, как это совместить
на окнах, я пробую это
go build -gcflags "all=-trimpath=%CD%" -asmflags "all=-trimpath=%CD%" -gcflags "all=-trimpath=%GOPATH%" -asmflags "all=-trimpath=%GOPATH%"
Это не работает
@ZekeLu, ответ правильный.
Я хочу объяснить, что произошло, я ожидал удалить информацию GOROOT, но я написал GOPATH, поэтому я подумал, что второй ответ @ZekeLu был неправильным, теперь я изменил и протестировал, проблем нет, два ответа все в порядке

Попробуйте эту команду:
go build -trimpath
Вот документ для флага -trimpath для команды Go:
-тримпат
удалить все пути файловой системы из полученного исполняемого файла. Вместо абсолютных путей файловой системы записанные имена файлов будет начинаться либо с пути к модулю@версия (при использовании модулей), или простой путь импорта (при использовании стандартной библиотеки или GOPATH).
Если вы хотите удалить только некоторые префиксы, вы можете сделать это следующим образом:
go build -gcflags "all=-trimpath=%CD%;%GOPATH%" -asmflags "all=-trimpath=%CD%;%GOPATH%"
И команда Compile , и команда Asm вызывает objabi.ApplyRewrites для обрезки путей. В соответствии с реализацией objabi.ApplyRewrites, аргумент rewrites представляет собой список перезаписи, разделенный ;.
// ApplyRewrites returns the filename for file in the given directory,
// as rewritten by the rewrites argument.
//
// The rewrites argument is a ;-separated list of rewrites.
// Each rewrite is of the form "prefix" or "prefix=>replace",
// where prefix must match a leading sequence of path elements
// and is either removed entirely or replaced by the replacement.
func ApplyRewrites(file, rewrites string) (string, bool) {
start := 0
for i := 0; i <= len(rewrites); i++ {
if i == len(rewrites) || rewrites[i] == ';' {
if new, ok := applyRewrite(file, rewrites[start:i]); ok {
return new, true
}
start = i + 1
}
}
return file, false
}
@zhangpeter Что касается второго вопроса, можете ли вы отредактировать свой вопрос, включив в него демонстрацию и показав, как вы проверяете, работает она или нет?
Я отредактировал вопрос, я ошибся, что нужно удалить, так это информацию GOROOT
спасибо, я стараюсь
go build -trimpath main.go, это работает. Но второй все равно не работает