ruby 是否有一个rvm env变量用于配置标志?

pxy2qtax  于 2023-08-04  发布在  Ruby
关注(0)|答案(2)|浏览(141)

而不是:

  1. rvm install 2.6.6 -C --with-jemalloc

字符串
我能以某种方式设置一个环境变量,这样我就可以安装Ruby没有传递配置标志?那就是:

  1. rvm install 2.6.6


似乎有这个$rvm_configure_flags var all throughout the rvm codebase,所以我尝试在我的环境中设置它:

  1. $ echo $rvm_configure_flags
  2. --with-jemalloc


然而,这似乎没有被使用,或者它的重击不知何故。我在整个rvm代码库中使用了echo $rvm_configure_flags,似乎找不到它被攻击的地方。
一个相当老的(?)示例.rvmrc文件似乎表明这是可能的:
https://github.com/rvm/rvm/blob/master/examples/rvmrc#L90-L92

nc1teljy

nc1teljy1#

命令rvm help install显示以下内容:

  1. #### .rvmrc equivalents
  2. - `--with-arch` `rvm_architectures`
  3. - `-C` `rvm_configure_flags`
  4. ... or per-ruby: `{jruby|ree|rbx|mruby|macruby|truffleruby}_configure_flags`
  5. - `-E` `rvm_configure_env`
  6. - `-M` `rvm_make_flags`
  7. - [none] `rvm_curl_flags`; default: --max-redirs 10 --max-time 1800

字符串
这意味着-C等价于rvm_configure_flags。文档中有以下附加示例:

  1. A variable with multiple flags should be set using parentheses and space
  2. separators. E.g. .rvmrc for `brew`-based `readline`, `llvm`, and
  3. `openssl` libraries:

warning: don't use \ linebreaks or it will break.

rvm_configure_env=( LDFLAGS="-L$(brew --prefix readline)/lib -L$(brew --prefix llvm)/lib -L$(brew --prefix openssl)/lib" CPPFLAGS="-I$(brew --prefix readline)/include -I$(brew --prefix llvm)/include -I$(brew --prefix openssl)/include" CXX=$(brew --prefix llvm)/bin/clang++ CC=$(brew --prefix llvm)/bin/clang )
rvm_archflags="-arch x86_64"


我还确认了在~/.rvmrc中设置rvm_configure_flags的预期效果是将这些选项传递给./configure步骤。

展开查看全部
myzjeezk

myzjeezk2#

RVM documentation有一个关于编译标志的部分:
如果需要为编译过程传递编译标志,只需设置相应的环境变量。
举个例子,在ruby 2.1.1中启用gdb:

  1. $ export optflags="-O0 -ggdb"
  2. $ rvm install 2.1.1

字符串

相关问题