Rails WSL2 中和 Linux 子系统双向同步的问题好像已经解决了!

nuanshuidai · 2022年01月13日 · 最后由 nuanshuidai 回复于 2022年01月21日 · 1170 次阅读

之前使用 WSL2 时,发现和子 Linux 存在双向同步问题。还发过一篇请教帖,详细的参见:https://ruby-china.org/topics/40764

当时纵然可以使用将项目文件存储在子 Linux 系统内解决,但是还是用着不够灵活。虽然这种方式我一直在使用;

今天突然想起 windows 10 已经更新了好几次,不知这个 BUG 有没有解决。于是就动手测试了下,发现已经可以同步更新了,不用重启 rails server;

具体的是步骤:

  1. 在 WSL2 下进入/mnt/c 目录下,新建一个 Rails 项目
  2. 用 vs code 打开刚新建的项目,这里不用启动 Remote 模式,就用本地打开方式;
  3. 随便编辑下文档,保存,测试,发现都能正常运行,不用再像以前再重启 Rails server 了;

这个修复无疑让 WSL2 在开发时更方便灵活了!

我当时也遇到了这个问题。重新设置 config.file_watcher = ActiveSupport::FileUpdateChecker 后,改了 ruby 代码也能正常同步,但是 js 文件一直不能自动编译。迁移到 wsl 内部文件系统就又快又正常了

spike76 回复

现在你再试试,应该都好了。

老哥的意思是工程项目保存在 Windows 上,然后 Ruby 环境跑在 WSL2 上么? 但如果从 Windows 打开本地的目录,VSCode 的插件 Ruby 路径怎么配置?这样配置有什么好处?

我是项目代码和开发环境都放在 WSL2 中,然后通过 VSCode 的 打开远程目录,来使用的

wsl2 速度慢,如果不用 docker,还是 wsl1 吧

shiweifu 回复

你用的啥 VS 插件?

放弃 WSKL 吧! wsl 坑太多,各种不明的 bug,奇奇怪怪毛病,而那些个毛病在虚拟机里面根据不存在。体验过后我就回到虚拟机 Linux 了,使用 vs code 来开发,一切跟本地没什么两样。 https://zhuanlan.zhihu.com/p/459480602

dayudodo 回复

都虚拟机了,装个 mac 更方便。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号