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

安装成功。。。

相关推荐
zh_xuan9 分钟前
c++ 单例模式
开发语言·c++·单例模式
coderSong256812 分钟前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
老胖闲聊35 分钟前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.11839 分钟前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
Mr_Air_Boy1 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
曹勖之1 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
豆沙沙包?2 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
军训猫猫头2 小时前
96.如何使用C#实现串口发送? C#例子
开发语言·c#
咖啡啡不加糖2 小时前
Redis大key产生、排查与优化实践
java·数据库·redis·后端·缓存
liuyang-neu2 小时前
java内存模型JMM
java·开发语言