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文件,所以报错了。

安装成功。。。

相关推荐
普通网友12 小时前
pytest一些常见的插件
开发语言·python·pytest
苦瓜花12 小时前
【Kotlin】初入门
android·开发语言·kotlin
饼干哥哥12 小时前
Vibe Coding 出海首月收割 100+用户爆赚美金,怎么做?
后端·架构·代码规范
cndes12 小时前
给Miniconda换源,让包下载更迅速
开发语言·python
大康12 小时前
macOS Homebrew 重装与国内镜像配置手册
后端
行者全栈架构师12 小时前
大模型批量生成代码的质量衰减:为什么 AI 越写越敷衍?根因分析与系统性解决方案
后端·架构·代码规范
乐观的Terry12 小时前
1、为什么要自己造发布系统
java·spring boot·后端·spring cloud·架构
用户EasyAdminBlazor12 小时前
EasyAdminBlazor 第十篇:数据导入导出——批量处理不再麻烦
前端·后端
LuminousCPP12 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
兰令水12 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试