【问题标题】:Encoding issues with Puma and JRubyPuma 和 JRuby 的编码问题
【发布时间】:2016-06-28 02:31:13
【问题描述】:
当我将 puma 添加到 Gemfile 时,现在每次运行 rails generator 或 rails server 时都会出现此错误:
语法错误:
/Users/admin/.rvm/gems/jruby-1.7.19@benchmark_jruby_puma/gems/puma-3.1.0-java/lib/puma/const.rb:103:
无效的多字节字符(US-ASCII)
没有puma 一切正常。如何解决这个问题?
【问题讨论】:
标签:
ruby-on-rails
ruby
jruby
puma
【解决方案1】:
That line 包含非 ASCII 字符,但文件不包含编码头。 JRuby 1.7 的默认设置是将源代码视为 ASCII 编码,因此结果就是您看到的错误。之后的 Ruby 版本默认为 UTF-8。
1.7 仍然支持旧的-K 命令行选项,因此您可以使用它来设置源编码。您将需要u 选项(即-Ku)。您可能需要使用 RUBYOPT 环境变量才能将其与 Rails 一起使用。
您可以通过以它开头的行来为每个命令单独指定环境变量,例如:
$ RUBYOPT=-Ku rails server
或者您可以将其导出,这样您就无需重复输入:
$ export RUBYOPT=-Ku
$ rails server