フラグを設定するための RVM 環境変数はありますか?
概要
の代わりに:
rvm install 2.6.6 -C --with-jemalloc
何らかの方法で環境変数を設定して、configure フラグを渡さずに Ruby をインストールできるようにすることはできますか?あれは:
rvm install 2.6.6
RVM コードベース全体にこの var があるようですので、私の環境でそれを設定してみました。
$ echo $rvm_configure_flags
--with-jemalloc
ただし、それは使用されていないか、何らかの形で破壊されているようです。 RVM コードベース全体をエコーしましたが、どこで破壊されているかを見つけることができないようです。
かなり古い (?) .rvmrc ファイルの例は、これが可能であることを示唆しているようです。
https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://github.com/rvm/rvm/blob/master/examples/rvmrc#L90-L92
解決策
コマンド RVM help install を実行すると、次のことが表示されます。
#### .rvmrc equivalents
- `--with-arch` `rvm_architectures`
- `-C` `rvm_configure_flags`
... or per-ruby: `{jruby|ree|rbx|mruby|macruby|truffleruby}_configure_flags`
- `-E` `rvm_configure_env`
- `-M` `rvm_make_flags`
- [none] `rvm_curl_flags`; default: --max-redirs 10 --max-time 1800
これは、-C が rvm_configure_flags と同等であることを意味します。ドキュメントには次の追加の例があります。
A variable with multiple flags should be set using parentheses and space
separators. E.g. .rvmrc for `brew`-based `readline`, `llvm`, and
`openssl` libraries:
# warning: don’t use linebreaks or it will break. rvm_configure_env=( LDFLAGS=“-L(brew−−prefixreadline)/lib − L(brew –prefix llvm)/lib -L$(brew --prefix openssl)/lib" CPPFLAGS="-I$(brew –prefix readline)/include -I(brew−−prefixllvm)/include − I(brew –prefix openssl)/include” CXX=(brew−−prefixllvm)/bin/clang + + CC=(brew –prefix llvm)/bin/clang ) rvm_archflags=“-arch x86_64”
また、~/.rvmrc で rvm_configure_flags を設定すると、それらのオプションを ./configure ステップに渡すという意図した効果があることも確認しました。