gpt4 book ai didi

ruby - SublimeText2 RubyTest "Verify Ruby Syntax"触发UTF-8错误

转载 作者:数据小太阳 更新时间:2023-10-29 08:23:46 24 4
gpt4 key购买 nike

我在 Mac OS 10.7.5 上使用 rvm 和 ruby​​ 1.9.3。

我希望能够使用 Sublime Text 2 RubyTest 包来验证我的 Ruby 语法。

但是,当我尝试在任何 ruby​​ 文件(下面的 test.rb)上运行 Tools -> RubyTest -> Verify Ruby Syntax 时,以下错误出现在RubyTest 控制台:

/Users/jladieu/.rvm/rubies/ruby-1.9.3-p194/bin/ruby:1: invalid multibyte char (US-ASCII)

我的test.rb文件内容很简单:

class Test
def hello
puts "Hello world"
end
end

我的RubyTest.sublime_settings文件如下:

{
"erb_verify_command": "erb -xT - {file_name} | ruby -c",
"ruby_verify_command": "ruby -c {file_name}",

"run_ruby_unit_command": "bundle exec ruby -Itest {relative_path}",
"run_single_ruby_unit_command": "bundle exec ruby -Itest {relative_path} -n '{test_name}'",

"run_cucumber_command": "zeus cucumber {relative_path} --no-color",
"run_single_cucumber_command": "zeus cucumber {relative_path}:{line_number} --no-color",

"run_rspec_command": "zeus rspec {relative_path}",
"run_single_rspec_command": "zeus rspec {relative_path}:{line_number}",

"ruby_unit_folder": "test",
"ruby_cucumber_folder": "features",
"ruby_rspec_folder": "spec",

"check_for_rbenv": false,
"check_for_rvm": true,

"ruby_use_scratch" : false,
"save_on_run": true,
"ignored_directories": [".git", "vendor", "tmp"],

"hide_panel": false,

"before_callback": "",
"after_callback": ""
}

在命令行运行以下命令来验证我的语法:

$ ruby -c test.rb 
Syntax OK

最后,我尝试了多种方法来解决 US-ASCII 问题,但均无济于事:

  • -ku 标志添加到 RubyTest 设置中的验证命令
  • export RUBYOPT=-Ku 在我的 .bash_profile 打开 sublime 之前
  • export LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8在打开 sublime 之前在我的 bash 配置文件中

任何人都可以使用类似的设置让它工作吗?

注意:已找到答案(见下文),但如果有人找到更好的解决方案,我很感兴趣,谢谢!

最佳答案

根据 Aaron 和 Thomas 的反馈进一步调查,将 ruby_verify_commandruby -c {file_name} 更改为 -c {file_name} 有效。

这样做的原因是使用 check_for_rvm: true 导致运行的命令是:

$ /Users/jladieu/.rvm/bin/rvm-auto-ruby ruby -c test.rb
/Users/jladieu/.rvm/rubies/ruby-1.9.3-p194/bin/ruby:1: invalid multibyte char (US-ASCII)

ruby_verify_command 正确设置为省略 ruby 会导致运行以下命令:

$ /Users/jladieu/.rvm/bin/rvm-auto-ruby -S -c test.rb
Syntax OK

关于ruby - SublimeText2 RubyTest "Verify Ruby Syntax"触发UTF-8错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15990804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com