go - 使用 Go-bindata-assetfs 构建问题:找不到命令
问题描述
我在尝试构建此代码时遇到问题: https ://github.com/EmbarkStudios/wg-ui
似乎找不到 go-bindata-assetfs 但我认为所有安装都正确...我在 Debian 10
go get github.com/go-bindata/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...
go-bindata-assetfs -prefix ui/dist ui/dist
make: go-bindata-assetfs: Command not found
make: *** [Makefile:23: assets] Error 12
Go 已安装并将其路径附加到 /etc/profile:
export PATH=$PATH:/usr/local/go/bin
$ which go
/usr/local/go/bin/go
生成文件:
# Parameters
GOCMD=go
GOBUILD=$(GOCMD) build
GOCLEAN=$(GOCMD) clean
GOGET=$(GOCMD) get
BINARY_NAME=wireguard-ui
.PHONY: build container ui assets
all: build
clean:
$(GOCLEAN)
rm -rf bin
rm -rf ui/node_modules ui/dist
ui:
cd ui && npm install && npm run build
assets:
$(GOGET) github.com/go-bindata/go-bindata/...
$(GOGET) github.com/elazarl/go-bindata-assetfs/...
go-bindata-assetfs -prefix ui/dist ui/dist
build: ui assets
CGO_ENABLED=0 $(GOBUILD) -o bin/$(BINARY_NAME) -v
build-amd64: ui assets
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GOBUILD) -o bin/$(BINARY_NAME)-amd64 -v
build-armv5: ui assets
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=5 $(GOBUILD) -o bin/$(BINARY_NAME)-armv5 -v
build-armv6: ui assets
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 $(GOBUILD) -o bin/$(BINARY_NAME)-armv6 -v
build-armv7: ui assets
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 $(GOBUILD) -o bin/$(BINARY_NAME)-armv7 -v
container:
docker build -t wireguard-ui .
run-dev:
sudo ./bin/$(BINARY_NAME) --log-level=debug --dev-ui-server=http://localhost:5000
run-dev-ui:
cd ui && npm run dev
节点版本:
$ node -v
v12.18.3
这是go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/debianuser/.cache/go-build"
GOENV="/home/debianuser/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/debianuser/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/debianuser/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/debianuser/wireguard-ui/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build504714797=/tmp/go-build -gno-record-gcc-switches"
感谢关注
解决方案
这对我有用...
我的主文件夹添加了一个名为 go 的新文件夹,我所做的是添加这个
export PATH=$PATH:/opt/golang/go/bin:$HOME/go/bin
我已经在 /opt/golang/ 中安装了 go 以访问二进制文件我还为插件添加了 bin 路径我希望这也能为你解决问题
推荐阅读
- sql - 计算效率 - I/O
- android - 在 Room 中调用自定义 SQLite 函数
- python - 轻型 GBM 模型的贝叶斯优化
- java - 使用 RxJava (Room) 获取插入 ID
- neovim - 在 Linux 上的 neovim 中使用 dosini 文件自动折叠
- java - 如何禁用远程调试
- python - 我如何使用 % 占位符在 python 中写一些东西?
- azure - 如何在 reg 表达式中使用模糊搜索?
- javascript - 接收 Promise 的自定义 Hook
- android - 独特的 buildConfigField,适用于所有具有维度的风格