如何在Rails中全局启用Ruby 2.3` - enable-frozen-string-literal`?

时间:2016-01-23 02:04:02

标签: ruby-on-rails-4 ruby-2.3

我正在Ruby 2.3之上构建一个绿域Rails应用程序,我希望所有Rails命令(例如rails srails c)和所有Ruby命令(例如rake do:something)来使用Ruby 2.3中引入的新的immutable-String功能。 (参见,例如https://wyeworks.com/blog/2015/12/1/immutable-strings-in-ruby-2-dot-3/

那么,我如何在所有可能的上下文中将这个可爱的--enable-frozen-string-literal Ruby选项传递给Ruby,其中一些命令我在Ruby中发布了最低限度?

提前致谢!

1 个答案:

答案 0 :(得分:17)

据我所知,最好的方法是设置环境变量如下:

export RUBYOPT=--enable-frozen-string-literal

setenv RUBYOPT --enable-frozen-string-literal

但是,现在不要尝试。它根本不起作用,因为Bundler gem中的某些代码试图修改冻结的String。等到他们解决问题。