修复 RubyMine 在 Alfred workflow 打开项目时,出现 yarn packages are out of date 的错误

Posted by Echo on January 23, 2021

近来发现 RubyMine 在启动项目的服务时,有时正常,有时候异常,异常就如下图所示(启动 rails s): 16113234582855

在直接启动 RubyMine 的时候是不会出现该问题的,但是通过 Alfred 的 jetbrains workflow 直接启动项目时会出现此现象。

排查中发现,我在项目中实际用到的是 node 12, 但是在服务启动时,总是在调用 node 14。然而在 RubyMine 的偏好设置中指定 node 解释器版本并不能解决此问题。

搜到一篇资料,在 RubyMine 启动时,它并不能加载到我配置在 ~/.bash_profile 中的 PATH 信息。

于是我 debug jetbrains workflow,发现它实际调用的是 JetBrains Toolbox 生成的 ~/.scripts/bin/rubymine 脚本。

因此只需要在这个脚本的 Shabang 下面添加 source ~/.bash_profile 就解决了问题。