首页 > 解决方案 > 使用 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

解决方案


这对我有用...

我的主文件夹添加了一个名为 go 的新文件夹,我所做的是添加这个

export PATH=$PATH:/opt/golang/go/bin:$HOME/go/bin

我已经在 /opt/golang/ 中安装了 go 以访问二进制文件我还为插件添加了 bin 路径我希望这也能为你解决问题


推荐阅读