go 语言 mage 安装踩坑

具体安装代码:mage 官方地址:Mage :: Mage

复制代码
git clone https://github.com/magefile/mage
cd mage
go run bootstrap.go

在go部署完后,执行上面的脚本,发现最后一句老是执行不成功:

root@BDGF-7FPQW93:/home/gw00241401/mage# sudo go run bootstrap.go

Running target: Install

exec: go "env" "GOBIN"

exec: go "env" "GOPATH"

Error: failed to create "/root/go/bin": mkdir /root/go/bin: no such file or directory

exit status 1

go 环境如下:

复制代码
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go-1.13"
GOSUMDB="sum.golang.org"

我是用apt install golang-go 的

GOBIN 变量为空,GOPATH为/root/go,但其实这个路径并不存在。

于是我由改成下载go的tar包,进行解压缩安装。

参考地址:https://www.runoob.com/go/go-environment.html

复制代码
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz

这句话是将go环境解压到/usr/local/go

我猜测mage 安装最后一句 go run bootstrap.go 时,先找GOBIN路径,如果没有再找GOPATH路径,然后编译mage文件到找到的目录;

所以,显示如下信息

root@BDGF-7FPQW93:/home/gw00241401/mage# sudo go run bootstrap.go

Running target: Install

exec: go "env" "GOBIN"

exec: go "env" "GOPATH"

但,如果把mage文件放到GOPATH下,在命令行执行mage是找不到文件的;

所以,我果断设置GOBIN变量,然后重新执行 go ruan bootstrap.go

root@BDGF-7FPQW93:/home/gw00241401/mage# go run bootstrap.go

Running target: Install

exec: go "env" "GOBIN"

exec: git "rev-parse" "--short" "HEAD"

exec: git "describe" "--tags"

exec: go "build" "-o" "/usr/local/go/bin/mage" "-ldflags=-X \"github.com/magefile/mage/mage.timestamp=2024-04-20T18:01:04+08:00\" -X \"github.com/magefile/mage/mage.commitHash=2385abb\" -X \"github.com/magefile/mage/mage.gitTag=v1.15.0-5-g2385abb\"" "github.com/magefile/mage"

然后执行mage验证如下:

root@BDGF-7FPQW93:/home/gw00241401# mage

No .go files marked with the mage build tag in this directory.

mage 要找不到要编译的go文件,所以报错了。

安装成功。。。

相关推荐
张家宝68373 分钟前
ambari
后端
StephenCurryFans6 分钟前
Spring AI vs LangChain4j:Java AI开发框架完整对比指南 🚀
后端·spring
liujing102329298 分钟前
Day04_刷题niuke20250703
java·开发语言·算法
程序员辉哥9 分钟前
学会在Cursor中使用Rules生成代码后可以躺平了吗?
前端·后端
Brookty11 分钟前
【MySQL】JDBC编程
java·数据库·后端·学习·mysql·jdbc
_代号00714 分钟前
MySQL梳理一:整体架构概览
后端·mysql
前端付豪17 分钟前
11、打造自己的 CLI 工具:从命令行到桌面效率神器
后端·python
前端付豪17 分钟前
12、用类写出更可控、更易扩展的爬虫框架🕷
后端·python
今夜星辉灿烂18 分钟前
nestjs微服务-系列2
javascript·后端
能工智人小辰25 分钟前
二刷 苍穹外卖day10(含bug修改)
java·开发语言