Conversation
|
looks well. The only question is how we name it. |
|
Thanks! Do we want to re-release.. |
|
Try updating to Service Pack 1 (SP1) and then give it another try? |
It is recommended to refer to the Mihomo project for naming release version files. |
Xray-windows-go121-64.zip |
现在是会把 go.mod 中的 version 改成 go 1.21.4?这样没有问题
@test5uninstall 测一下 https://github.com/XTLS/Xray-core/actions/runs/9914586816
Xray-win7-64.zip 和 Xray-win7-32.zip 即可,简单直观,重点是不会下载错,用 Win7 的会下载它们,不用 Win7 的会绕开它们 Xray 的 releases 都是 friendly-filenames,所以会写 macos 而不是 darwin,会写 32 而不是 386,就是追求直观 而 Xray-windows-64-compatible 或 Xray-windows-go121-64 显然都不够 friendly,用 Windows 的看了都迷糊,不知道下哪个
|
|
昨天晚上我也研究了一下 action会自动读取gomod里的版本来安装go 剩下就是把改版本号的操作整合到matrix build里 |
|
其实还可以找一下有没有 patch 了最新版 Golang 以支持 Win7 的项目,可以用这个 Go 来替代 1.21.4,Meta 好像有 @wwqgtxx |
|
To GL_OUT_OF_MEMORY:我觉得 Win7 是最后一个“干净”的 Windows,如果可以我都想用, To 风扇滑翔翼:可以, |
|
|
|
|
如果可以跑的话差不多可以合了 |
|
|
盲猜是改了 go.mod 中的 version 后没 commit 就有了 -dirty,不过 commit 的话 id 会变,特意忽略 -dirty 好像也没必要,就留着吧 |
|
或者我们把 go.mod 中的 version 改回 1.21,就不用 go mod edit 了,应该还可以避免不小心用了新版 Go 特性导致 1.21 编译不了 |
|
|
|
|
|
@mmmray Xray-win7-64 不可用,报错。 |
|
@test5uninstall @lxhao61 @dashabiguard 是 Win7 SP1 吗?安装的最新系统补丁是什么时候发布的? 因为 kernel32.dll 一般只有在系统更新的时候才会更改,而且这个 DLL 真的坏了的话系统是没法用的。 所以能探明能用的条件最好,用 go 1.20 要动的地方还是稍微多了点。 |
|
@KobeArthurScofield 是 win7 SP1,且无更新。 |
|
Windows7 available build → Windows7 with golang 1.21.4 helpdesk |
有那种味道了 不过之前 win7 不能用的 issue 都是 1.8.7 (go 1.21.5) 才冒出来的,1.8.6 (go 1.21.4) 和更早的倒是没见着。 |
问题依旧,还是一样报错。 |
1.21.5 和之后用到了 Win7 没有的 API 必然会炸,所以只能指定使用小版本号。 |
|
可以参考一下v2fly那边的go.mod |
|
试试看最新版和1.21.4版能不能都编译成功 |
|
或者执行一下go mod tidy |
|
It's not correct to specify The lowest version without major build issues is About I think the recent changes should just be reverted, then the PR can be merged. |
|
你们理解错了,不是编译炸了,毕竟以我对 Go 的经验,这样改是可以用 Go 1.21+ 的任意版本编译的,是 test 炸了: 就是说需要修改 test.yml 来绕过这个限制 @mmmray |
Then we are seeing different things. Is my development environment wrong? On this branch, I get: and this: It seems after downgrading gvisor, the compilation will be fine. I believe that the |
|
win7毕竟已经这么老了 构建里发一个1.21.4的能用的差不多就可以了 个人觉得没必要再改这改那了 这有的人甚至都没有win7物理机还得开虚拟机 |
|
|
|
研究透了,这个与用哪个版本的 Go 编译无关,而是有这个 gvisor 在时 go.mod 中的 version 不能写 1.21,只能写 1.21.1+ 如果写 1.21,Go 会要求先 go mod tidy,也就是降级 gvisor 以兼容 1.21.0,然后才允许你编译,即使你编译用且只用 1.21.1+ 比如 version 写 1.21 时 builds 全是“-dirty”,就是自动 go mod tidy 了,而 test 的行为则是报错,让你先 go mod tidy 而 version 写 1.21.4 时不需要先 go mod tidy,所以 builds 全不带“dirty”,且 test 也是正常的,所以 |
|
Yes! That's what I'm saying! 😆 Golang 1.22 interprets So what should be done then? Do you want to downgrade gvisor? I would prefer |
|
这个gvisor当时升上来就费了不少事 降下去也费事 |
“所以
改这改那一是为了追求优雅,二是为了确保“构建里发一个1.21.4的能用的差不多就可以了” 如果不改 version,写 1.22+,会不小心用到 1.21.4 没有的特性,根据新发现的东西,也会导致依赖升级到不支持 1.21.4 的版本 目前先这样吧,但长久之计是 #3530 (comment) ,@test5uninstall 你用几天你的版本的 Xray 看看有没有什么问题 |
|
使用修改后的go1.22.5编译Xray,编译过程一切顺利,看起来效果很好,目前看来没有发生任何错误。 |
|
我还是很怀疑对win7的兼容能保持多久 |
Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>







Relevant discussions:
Important point:
TODO: