一般来说我们还是希望 IDE 运行在 windows,但是引用环境在 linux 。所以使用 wsl2 有个绕不过的问题,把文件放 windows 还是 linux 里
放 windows 里(/mnt/c ),先不论跨文件系统的性能,npm build
能卡个好几分钟不说,最主要是失去了文件监控的功能,修改文件后,不会自动化重新编译,极大影响了效率
放 linux 里(\wsl$),npm build
的问题倒是没了,但是又有个 go: RLock \wsl$\Ubuntu\……\go.mod: Incorrect function. 的问题。
goland 还不支持直接使用 wsl 里面的 go 环境,所以还需要在 windows 上安装 go 环境,访问 wsl 中的文件,wsl2 本质上还是个虚拟机,windows 访问 linux 是通过网络文件系统( 9P ),然而 go 加锁不支持 9P,所以无法在 windows 上编译、运行了,IDE 上的很多功能用不了,需要进 wsl 命令行操作。
不过好在可以配置 Build on remote target,也勉强能用,但是整体操作上还是很割裂。
还有一个就是文件放 linux,万一不小心把环境删了,代码啥的都没了。
注:Mac 有,只是有时候用下 windows
相关资料:
https://docs.microsoft.com/zh-cn/windows/wsl/compare-versions
https://github.com/microsoft/WSL/issues/6255
https://stackoverflow.com/questions/62837419/how-can-i-set-up-goroot-in-wsl2-goland
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.