【问题标题】:REE rake gems:install is not working correctREE rake gems:安装不正确
【发布时间】:2011-08-13 09:08:22
【问题描述】:

我在 CentOS 5 上安装了 REE 以完成一项非常特殊的任务(使用 rails 2.3.10 和 ruby​​ 1.8),我真的需要隔离它

在这种情况下,我不会使用 bundler 或 smth so。

如果我通过手动设置每个 gem,一切正常

/opt/ree/bin/gem install agem

但是当我跑步时

/opt/ree/bin/rake gems:install

为这个命令项目准备 - 所有(或大多数,我没有检查每个依赖项)gem 都通过 /usr/bin/gem 安装到公共 gem 路径中,我不需要它们中的任何一个

这是一个问题,我不想手动安装所有 gem。 smb 有没有遇到过这个问题并且可能知道解决方案?

【问题讨论】:

    标签: rake gem ruby-enterprise-edition


    【解决方案1】:

    环境中某处有一个GEM_HOME 变量,或者调用的运行时ruby 不是ree。因此,我建议至少尝试 3 件事:

    • 从一个几乎空的环境开始(例如运行env -i sh)并再次运行rake 命令,看看这是否仍然在公共gem 路径中安装gem。请注意,因为env -i 是一个空环境,您可能会看到来自rubygems 的投诉(因为没有设置HOME 或没有设置其他内容)...
    • 检查 shebang 行(rake 程序的第一行)是否确实表示您的 REE 二进制文件,而不是其他内容
    • 最后,使用带有/opt/ree/bin/ruby /opt/ree/bin/rake gems:install 的 REE 二进制文件运行 rake

    这应该让您知道出了什么问题。总而言之,我认为环境问题可能是这件事最可能的罪魁祸首

    【讨论】:

    • 谢谢你,但你的建议没有任何效果 - 我尝试了每一点: 1. env -i sh 有路径问题; 2.rake的shebang线通向REE; 3. /opt/ree/bin/ruby /opt/ree/bin/rake gems:install 根本不起作用(错误提示 ruby​​ 无法运行二进制文件 - 很奇怪,但这是事实)
    【解决方案2】:

    真正帮助我的解决方案是暂时将/usr/bin/gem 替换为/opt/ree/bin/gem 的符号链接

    使用这个替换 /opt/ree/bin/rake gems:intall 按预期工作 - 所有必需的 gem 都安装到 REE 路径 - 将 /usr/bin/gem 返回到原始 gem 可执行文件使系统再次稳定

    这不是很干净的解决方案,但它确实有效,因此在危急情况下可以像锤子一样使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多