当我将puma
添加到Gemfile
时,我现在每次运行rails生成器或rails服务器时都会收到此错误:
语法错误: /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
一切正常。如何解决这个问题?
该行包含非 ASCII 字符,但该文件不包含编码标头。JRuby 1.7 的默认设置是将源视为 ASCII 编码,因此结果是您看到的错误。后来的 Ruby 版本默认为 UTF-8。
不过,1.7 仍然支持旧的 -K
命令行选项,因此您可以使用它来设置源编码。您将需要u
选项(即 -Ku
)。您可能需要使用 RUBYOPT
环境变量才能将其与 Rails 一起使用。
开头为每个命令单独指定环境变量,例如:
$ RUBYOPT=-Ku rails server
或者您可以导出它,这样您就不需要不断重新键入它:
$ export RUBYOPT=-Ku
$ rails server