最近我在VSCode上安装了Rubocop,但它无法正常工作。以下是错误消息。
rubocop is not excutable
execute path is empty! please check ruby.rubocop.executePath
我该如何解决它?我查阅了一些文章,但从未得到解决...参见 vscode-ruby-rubocop https://github.com/misogi/vscode-ruby-rubocop
最近我在VSCode上安装了Rubocop,但它无法正常工作。以下是错误消息。
rubocop is not excutable
execute path is empty! please check ruby.rubocop.executePath
我该如何解决它?我查阅了一些文章,但从未得到解决...对我来说,被接受的答案不起作用。然而,在这个GitHub问题的评论中,我找到了jdarnok
的评论,这对我有用。
首先,为了获取程序文件所在的用户路径,我运行了:
rbenv which rubocop
这给了我这个结果:
/Users/<your username>/.rbenv/versions/2.6.2/gemsets/Rails4.2_EnergyLink/bin/rubocop
然后我运行了:
which rubocop
这给了我这个结果:
/Users/<your username>/.rbenv/shims/rubocop
解决方法
在VS Code的设置下,Ruby > Rubocop: Execute Path
我粘贴了:
/Users/<your username>/.rbenv/shims/
其他潜在的解决方法
这个Stackoverflow帖子涉及到一些其他可能的解决方法,例如:
wrappers
代替PATH中的bin
executable hooks
确保您首先安装了Rubocop。
gem install rubocop
你可以像这样检查它是否正常工作:
rubocop -v
在扩展市场搜索ruby-rubocop
并安装它。
将.rubocop.yml
文件添加到你的项目根目录。你可以在默认配置文件中查看所有配置选项以及该文件应该如何编写。请注意,如果文件中存在过时或错误规则,你将收到一个错误提示并且Rubocop将无法工作。VS Code会提醒你:
请查看配置文档。
{
// If not specified searches for 'rubocop' executable available on PATH (default and recommended)
"ruby.rubocop.executePath": "",
...
}
因此,默认情况下,executePath
不会被设置,因为它期望你的PATH中有rubocop可执行文件。
简单来说,你可以做两件事情,将rubocop可执行文件路径添加到你的PATH中,或在包选项中添加它。
你可以使用which rubocop
命令检查rubocop可执行文件所在的目录(然后复制并粘贴它)。
$ which rubocop
,然后出现了 rubocop not found
的提示。当我使用 $ rbenv which rubocop
时,返回了 Users/user/.rbenv/versions/2.5.1/bin/rubocop
。那么,我应该如何设置路径到 ruby.rubocop.executePath
? - ShogoTGMrbenv
版本的Ruby。与ruby -v
或which ruby
相比,rbenv list
或rbenv versions
列出了什么(我使用rvm
,不知道命令,抱歉)?我认为切换到rbenv 2.5.1
然后从终端运行code .
会帮助VScode找到rubocop
。 - t56kcode .
就像 @t56k 提到的那样,对我也起作用了。我正在使用带有 RVM 的 Ruby,在 M1 空气上遇到了类似的问题。 - F.E.A简短回答: 尝试以不同的方式启动VSCode。
解释: 一个进程会继承启动它的环境配置。如果rubocop已安装在全局环境中,那么无论你如何启动VSCode,插件都可以使用它。但缺点是,现在所有东西都可以使用rubocop,其中大多数永远不需要它,而所有使用它的事物都需要要求相同版本的rubocop。
如果rubocop是使用一个ruby管理器安装在gemset中的,或者您有像dot-file管理器这样操纵环境的工具,则当您启动VSCode时,rubocop可能不在PATH中。
我总是从终端启动VSCode。我打开终端并cd
到我的项目文件夹。我的ruby管理器(rvm)和dot-file管理器(direnv)会自动添加和更改环境中的某些变量。然后我运行code .
来启动与我的应用程序相同环境配置的VSCode。
遇到了同样的错误。问题在于VS Code隐藏了详细的错误信息。
要查看完整的错误信息并帮助解决问题:
打开 帮助 -> 开发人员工具 -> 控制台 (点击这里)
在那里,您将看到实际的错误信息。
我有2个损坏的代码片段需要更新,而且可执行文件路径也是错误的。
非常烦人,但如果您打开开发人员工具并检查控制台,您将能够更好地进行调试并解决任何出现的问题。