You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL环境下Golang time.Time类型UnixMilli方法缺失问题求助

问题根因

time.Time.UnixMilli() 是 Go 1.17 版本才正式加入标准库的方法,从你提供的环境信息可以看到:

  • Windows 环境使用的 Go 版本为 1.17.3,满足方法要求,因此编译运行正常
  • WSL Ubuntu 环境使用的 Go 版本为 1.13,版本远低于要求,因此会抛出方法未定义的错误,和WSL本身运行环境无关,完全是Go版本差异导致的问题。

解决步骤

方案1:升级WSL侧的Go版本(推荐,保持跨环境版本一致)

  1. 先彻底卸载原有旧版本Go,避免版本冲突:
sudo apt-get purge --auto-remove golang-go golang-1.13*
  1. 安装和Windows侧一致的Go 1.17.3版本:
  • 下载对应linux-amd64架构的Go 1.17.3压缩包
  • 解压到系统目录:
sudo tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz
  • 配置环境变量,在~/.bashrc(或你使用的shell对应配置文件,如~/.zshrc)末尾添加如下内容:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
  • 重载配置生效:
source ~/.bashrc
  1. 验证安装结果,执行go version确认输出为go version go1.17.3 linux/amd64,再重新编译项目即可正常运行。

方案2:兼容低版本Go的代码修改

如果你暂时不需要升级WSL侧的Go版本,可以直接修改代码替换方法,效果完全一致:
将原有代码

time.Now().UnixMilli()

替换为

time.Now().UnixNano() / 1e6

该写法支持所有Go 1.x版本,无需升级环境即可正常编译运行。

额外注意事项

可以检查项目根目录下的go.mod文件,确认go指令标注的版本不低于1.17,避免后续跨环境编译出现版本校验报错。

内容的提问来源于stack exchange,提问作者Kapokupa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:45:00