gpt4 book ai didi

rubygems - 如何为 "gem install"指定编译器?

转载 作者:行者123 更新时间:2023-12-04 02:06:19 27 4
gpt4 key购买 nike

如何指定应该使用哪个编译器 gem install ?在 Bash 中

CC=gcc gem install ...
没有帮助,因为它仍然在我的系统上使用 Solaris Studio。

最佳答案

对于 sqlite3-ruby,自 2011 年 1 月提交以来就支持您的方法。但总的来说
由于 ruby​​gems 的工作原理,无法覆盖它。它

  • 打开 gem 的包装。
  • 查看它的规范并发现它使用了“扩展”属性——通常是一个
    专门编写的 extconf.rb 文件的路径。
  • 运行该文件以生成 Makefile。除非 extconf.rb 的作者明确
    据说要尊重 env 变量,它们被忽略了。例如,在最近
    sqlite3-ruby gem 的版本,它的 extconf.rb 有一行

    RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']

    所以如果你在 Bash 中运行
    CC=gcc gem install sqlite3-ruby

    extconf.rb 将生成带有变量 CC 的 Makefile其中就是
    设置为 gcc或任何你想要的。
  • Makefile生成后,rubygems执行make用于编译的实用程序
    延期。

  • 理论上,如果 ruby​​gems 允许我们指定额外的命令行
    make 的参数,我们可以使用它的 -e选项,然后不依赖
    extconf.rb 的作者。
    ( -e 选项给出从环境中获取的变量优先于
    来自 makefile 的变量。)

    关于rubygems - 如何为 "gem install"指定编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554837/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com