【问题标题】:Atom Beautify Ruby with rubocop doens't work使用 rubocop 的 Atom Beautify Ruby 不起作用
【发布时间】:2018-08-22 03:35:21
【问题描述】:

我在 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) 时返回错误:

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)

【问题讨论】:

  • 有没有机会在没有安装 rubocop gem 的情况下切换到 ruby​​ 版本?
  • 它会做很多工作。该项目已经推进。问题可能是这样的?
  • 我的意思是错误消息说 rubocop 命令存在于 ruby​​ 2.4.3 但如果您切换到具有不同 ruby​​ 版本的项目,您可能需要为此安装 rubycop
  • 但是我的项目是 ruby​​ 2.4.3 版本并且上面安装了 rubocop :S

标签: ruby-on-rails ruby atom-editor atom-beautify


【解决方案1】:

前几天我遇到了同样的问题。我正在使用 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 --> 二进制/脚本路径文本字段。然后重启 Atom。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。我的项目是 2.2.2 版本,而 rubocop gem 安装在这个版本上。

    Atom 正在运行 atom-beautify,但使用的是全局 rbenv 版本(在我的情况下是 2.4.0),这导致了错误。所以解决方案是:

    $ cd ~
    $ rbenv version
    2.4.0
    $ gem install rubocop
    

    然后重启 Atom,运行atom-beautify,现在一切都应该好了。

    【讨论】:

      猜你喜欢
      • 2018-11-24
      • 2018-01-08
      • 1970-01-01
      • 2016-09-09
      • 2018-02-11
      • 2020-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多