我在CentOS 5上安装了REE,用于执行非常特殊的任务(使用rails 2.3.10和ruby 1.8),我真的需要将它隔离
在这种情况下,我不会使用bundler或smth。
如果我通过
手动设置每个宝石,一切正常/opt/ree/bin/gem install agem
但是当我跑步时
/opt/ree/bin/rake gems:install
准备好这个命令项目 - 所有(或大多数,我没有检查每个依赖项)宝石通过/ usr / bin / gem安装到公共gem路径中,我不需要其中任何一个
这是一个问题,我不想手动安装所有宝石。有没有人遇到过这个问题并且可能知道解决方案?
答案 0 :(得分:1)
真正帮助我的解决方案是暂时将/usr/bin/gem
替换为/opt/ree/bin/gem
使用此替换/opt/ree/bin/rake gems:intall
按预期工作 - 所有必需的gem都安装到REE路径 - 将/usr/bin/gem
返回到原始gem可执行文件,使系统再次稳定
这不是非常 clean 解决方案,但它可以正常工作,所以它可以像锤子一样在危急情况下使用。
答案 1 :(得分:0)
环境中某处有GEM_HOME
变量,或者调用的运行时ruby不是ree。因此,我建议至少尝试三件事:
env -i sh
)并再次运行rake命令,看看这是否仍然在公共gem路径中安装gem。要小心,因为env -i
是一个空的环境,你可能会看到来自rubygems的抱怨(因为没有设置HOME
或没有其他设置)...... /opt/ree/bin/ruby /opt/ree/bin/rake gems:install
这可以告诉你出了什么问题。总而言之,我认为环境问题可能是这件事最可能的罪魁祸首