使用 rubocop 的 Atom Beautify Ruby 不起作用
Atom Beautify Ruby with rubocop doens't work
我在 Atom 中安装了 Atom Beautify 插件,在我的应用程序中安装了 rubocop gem。即使在这些步骤之后,美化也不起作用。
我的 rubocop 位置:
$ which rubocop
/home/leonardo/.rbenv/shims/rubocop
在我的 config.cson 我有代码:
...
ruby:
rubocop_path: "/home/leonardo/.rbenv/shims/rubocop"
...
当我尝试使用 Beatify(Ctrl+Alt+B) 这个 return 错误:
Error: rbenv: rubocop: command not found
The `rubocop' command exists in these Ruby versions:
2.4.3
at /home/leonardo/.atom/packages/atom-beautify/src/beautifiers/executable.coffee:182:23
at tryCatcher (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:143:10)
at Async.drainQueues (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:17:14)
at process._tickCallback (internal/process/next_tick.js:103:7)
我遇到了同样的问题。我的项目是 2.2.2 版本,rubocop gem 安装在这个版本上。
Atom 是 运行ning atom-beautify
,但使用全局 rbenv
版本(在我的例子中是 2.4.0),这是导致错误的原因。所以解决方案是:
$ cd ~
$ rbenv version
2.4.0
$ gem install rubocop
然后重启Atom,运行 atom-beautify
现在应该一切正常了。
我 运行 前几天遇到了同样的问题。我正在使用 Ruby 2.7.4 并获取 Atom Beautify 使用的路径我使用 rbenv which rubocop
而不是 which rubocop
.
$ rbenv which rubocop
/Users/YourUsername/.rbenv/versions/2.7.4/bin/rubocop
之后,将上述路径复制并粘贴到Atom Beautify 的设置--> 可执行文件--> Rubocop --> Binary/Script 路径文本字段。然后重启Atom。
我在 Atom 中安装了 Atom Beautify 插件,在我的应用程序中安装了 rubocop gem。即使在这些步骤之后,美化也不起作用。
我的 rubocop 位置:
$ which rubocop
/home/leonardo/.rbenv/shims/rubocop
在我的 config.cson 我有代码:
...
ruby:
rubocop_path: "/home/leonardo/.rbenv/shims/rubocop"
...
当我尝试使用 Beatify(Ctrl+Alt+B) 这个 return 错误:
Error: rbenv: rubocop: command not found
The `rubocop' command exists in these Ruby versions:
2.4.3
at /home/leonardo/.atom/packages/atom-beautify/src/beautifiers/executable.coffee:182:23
at tryCatcher (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:143:10)
at Async.drainQueues (/home/leonardo/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:17:14)
at process._tickCallback (internal/process/next_tick.js:103:7)
我遇到了同样的问题。我的项目是 2.2.2 版本,rubocop gem 安装在这个版本上。
Atom 是 运行ning atom-beautify
,但使用全局 rbenv
版本(在我的例子中是 2.4.0),这是导致错误的原因。所以解决方案是:
$ cd ~
$ rbenv version
2.4.0
$ gem install rubocop
然后重启Atom,运行 atom-beautify
现在应该一切正常了。
我 运行 前几天遇到了同样的问题。我正在使用 Ruby 2.7.4 并获取 Atom Beautify 使用的路径我使用 rbenv which rubocop
而不是 which rubocop
.
$ rbenv which rubocop
/Users/YourUsername/.rbenv/versions/2.7.4/bin/rubocop
之后,将上述路径复制并粘贴到Atom Beautify 的设置--> 可执行文件--> Rubocop --> Binary/Script 路径文本字段。然后重启Atom。