go 语言 mage 安装踩坑

ops/2024/10/21 13:22:47/

 具体安装代码: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文件,所以报错了。

安装成功。。。 


http://www.ppmy.cn/ops/5567.html

相关文章

OpenHarmony多媒体-mp3agic

简介 mp3agic 用于读取 mp3 文件和读取/操作 ID3 标签(ID3v1 和 ID3v2.2 到 ID3v2.4),协助开发者处理繁琐的文件操作相关,多用于操作文件场景的业务应用。 效果展示: 下载安装 ohpm install ohos/mp3agicOpenHarmony ohpm环境配…

机器学习笔记——浅析L2,1范数正则化的线性回归

前言 嘻嘻,刚开始搓逾期了快两周的线性回归实验报告,为了让报告稍微不那么平淡不得不啃论文。 本文从最基本的线性回归开始,对比不同正则化方法的特点和作用,推广到多任务问题并引出L2,1范数正则化,卑微小采购尝试去…

一篇文章带您学会CSS的动画

动画和过渡的区别 过渡:实现两个状态间的变化过程。 动画:实现多个状态间的变化过程。动画过程可控(重复播放,最终动画,是否暂停) 动画的实现步骤 1.定义动画 书写格式 keyframes 动画名称{from{}to{…

记一次nacos注册服务IP错误的解决方案

我们以常见的微服务脚手架RuoYi-Cloud-Plus 为例 场景 服务网关-》业务服务不通 在微服务场景中,网关会从注册中心获取服务的列表,这些数据以键值对的形式存储在本地缓存中,key是服务的名称,value是服务的IP地址和端口号&#…

Xamarin.Android中“ADB0020: Android ABI 不匹配。你正将应用支持的“armeabi-v7a;arm64-v8a”异常处理

这里写自定义目录标题 1、问题2、解决 1、问题 在Xamarin.Android中出现ADB0020: Android ABI 不匹配。你正将应用支持的“armeabi-v7a;arm64-v8a”ABI 部署到 ABI“x86_64;x86”的不兼容设备。应创建匹配其中一个应用 ABI 的仿真程序,或将“x86_64”添加到应用生成…

OllamaFunctions 学习笔记

OllamaFunctions 学习笔记 0. 引言1. 使用方法2. 用于提取 0. 引言 此文章展示了如何使用 Ollama 的实验性包装器,为其提供与 OpenAI Functions 相同的 API。 1. 使用方法 您可以按照与初始化标准 ChatOllama 实例类似的方式初始化 OllamaFunctions: …

腾讯云免费ssl证书申请与宝塔手动部署

1.在我的证书 - SSL 证书 - 控制台 (tencent.com)页面点击“申请免费证书” 2.在申请页面填写域名、邮箱,对于其中“验证方式”,如果服务器是部署在腾讯云的话,可以选“自动DNS” 3.等待审核通过之后,在我的证书 - SSL 证书 - 控…

Flutter 的 showDialog 和 showCupertinoDialog 有什么区别?

我将我的 App 里用的 Flutter 升级到了 3.19,没想到,以前我用 showDialog 和 AlertDialog 组合创建的二次确认框,变得无敌难看了,大幅度增加了整个框的圆角和里面默认按钮的圆角。不得已,我必须修改一下,以…