【问题标题】:BeautifyRuby works for .rb and not for .erb filesBeautifyRuby 适用于 .rb 而不是 .erb 文件
【发布时间】:2014-01-07 17:00:31
【问题描述】:

我在 OSX 10.9.1 上使用 ST2。我安装了htmlbeautifier gem。我使用Package Control 安装了BeautifyRuby。 我在BeautifyRuby的默认设置中设置了ruby路径和文件模式,如下:

{
"tab_or_space": "space",
"ruby": "/Users/(username)/.rvm/rubies/ruby-2.1.0/bin/ruby",
"file_patterns": ["\\.html\\.erb", "\\.rb", "\\.rake", "Rakefile", "Gemfile"],
"html_erb_patterns": ["\\.html\\.erb"],
"run_on_save": true,
"save_on_beautify": false
}

对我来说,BeautifyRuby 仅适用于扩展名为 .rb 的文件,不适用于扩展名为 .erb 的文件。

当我尝试美化 .erb 文件时,我收到以下错误:

"error: invalid output. check your ruby interpreter settings"

我也尝试了同样的方法,直接从 git 手动安装 BeautifyRuby。仍然给我同样的结果。

【问题讨论】:

  • 我的回答有帮助吗?
  • 不是真的。我已经尝试过你提到的。我已经更新了文件模式以及安装了 htmlbeautifier。我将添加完整的默认设置供您参考。

标签: ruby-on-rails sublimetext2 beautify-ruby


【解决方案1】:

如果使用 rvm:

1- 在您的 BeautifyRuby.sublime-settings 中

"ruby": "/Users/(user)/.rvm/rubies/ruby-(version)/bin/ruby"

2- 在全局 gemset 中安装 htmlbeautifie。

rvm use (version)@global     
gem install htmlbeautifier

这会解决你的问题..

【讨论】:

  • 感谢您的回答。但是我已经完成了所有这些,正如您在问题中看到的那样。
【解决方案2】:

我假设您使用的是 RVM。如果您添加了新的 ruby​​ 版本并更改了 RVM ruby​​ deault,它将破坏 sublime BeautifyRuby 包,因为您的默认 ruby​​ 现在与 BeautifyRuby 设置中引用的不同。

首先删除 BeautifyRuby。关闭 sublime 并重新打开它,然后重新添加包。

其次,在您的 rails/ruby 项目文件夹中,运行 which ruby 并记下路径。

第三,打开preferences > package settings > beautify ruby > settings default并添加以下内容:

{
...
"ruby":"path_printed_in_which_ruby_command",
...
}

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,我可以通过安装旧版本的 htmlbeautifier gem 来解决这个问题:

    gem uninstall htmlbeautifier
    gem install htmlbeautifier -v 0.0.12
    

    似乎最新版本的 htmlbeautifier 与 BeautifyRuby 不兼容。

    【讨论】:

      【解决方案4】:

      我看到这个问题已经存在几个月了,但我遇到了同样的问题,并且有一个对我有用的解决方案,我认为值得分享。在崇高文本 3 中,在 Preferences |包装设置 |美化红宝石 |设置 - 默认值,file_patterns 值被轻微损坏,将 .html 和 .erb 文件类型合并在一起,从而破坏了它们的功能。

      我发现了什么:

        "file_patterns": ["\\.html\\.erb", "\\.rb", "\\.rake", "Rakefile", "Gemfile"],
      

      我改成什么:

      "file_patterns": ["\\.html", "\\.erb", "\\.rb", "\\.rake", "Rakefile", "Gemfile"],
      

      这似乎对我有用。此外,如上所述,您需要确保将“ruby”的设置设置为您当前的 ruby​​ 版本。在命令行中运行 'which ruby​​' 以获取机器上 ruby​​ 的当前路径,并将该值用于 ruby​​ 设置。在我的情况下是:

      "ruby": "/Users/bob/.rvm/rubies/ruby-2.1.2/bin/ruby",
      

      (注意末尾有一个逗号,因为它不是文件中的最后一个配置)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-16
        • 1970-01-01
        • 2019-07-22
        • 1970-01-01
        • 2018-02-03
        • 2014-01-02
        • 2016-01-05
        相关资源
        最近更新 更多