震惊!kratos的make命令windows下无法使用

文章讲述了在Windows环境下,为了使用Make命令和相关工具(如protoc),需要MinGW和GitBash。由于路径中存在空格导致的问题,作者尝试了重命名和修改路径表示方式,但遇到了文件格式错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Make 命令

kratos想在windows下开发的舒服,各种 命令必须得支持,不然一个protoc就是噩梦,好在官方内置了一些make api这样的命令,坏在windows不支持make命令😂

MinGw

百度一搜大概是MinGW 这么个东西,这么眼熟呢,装过git-bash的应该都知道这东西了,其实make已经安装好了,只不过它默认是叫mingw32-make.exe,只需要给他重命名成make.exe就可以在命令行欢快的使用了

不能用

本来以为搞定了,一个回车后提示了一堆错误 /usr/bin/sh: C:/: Is a directory,什么玩意🤥

看下文件

	ifeq ($(GOHOSTOS), windows)
		Git_Bash=$(subst \,/,$(subst cmd\,bin\bash.exe,$(dir $(shell where git))))
		INTERNAL_PROTO_FILES=$(shell $(Git_Bash) -c "find internal -name *.proto")
		API_PROTO_FILES=$(shell $(Git_Bash) -c "find api -name *.proto")
	else
		INTERNAL_PROTO_FILES=$(shell find internal -name *.proto)
		API_PROTO_FILES=$(shell find api -name *.proto)
	endif
api:
	protoc --proto_path=./api \
	       --proto_path=./third_party \
 	       --go_out=paths=source_relative:./api \
 	       --go-http_out=paths=source_relative:./api \
 	       --go-grpc_out=paths=source_relative:./api \
	       --openapi_out=fq_schema_naming=true,default_response=false:. \
	       $(API_PROTO_FILES)

可以看得出windows他是获取了bash.exe的路径来执行的命令
打印一下路径' C:/ Files/Git/bin/bash.exe,阿这Program 咋还丢了😢
看来是空格问题,要怨就怨自己默认安装的git到C盘了

这咋整

空格是吧,去掉不就行了🤔
查看短文件名dir /x "C:\"
在这里插入图片描述
就你叫PROGRA~1

	G_Pth = $(subst Program Files,PROGRA~1, $(shell where git))
	Git_Bash=$(subst \,/,$(subst cmd\git.exe,bin\bash.exe,$(G_Pth)))

直接比着抄一下替换

make 启动!
在这里插入图片描述
文件格式错误!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值