虽然我喜欢使用bundler
gem来封装我自己的gem中的依赖项,但我还没有能够弄清楚它的某些[mis]功能。
特别针对这个问题,当我作为root
安装一个gem,其中包含其他提供二进制文件的gem时,这些二进制文件在系统范围内安装,可能与来自其他来源的同名二进制文件相关。 / p>
如何将捆绑的影响特别保持在拥有宝石的影响之内? I.e。,不在gem自己的解压缩树之外安装东西?
谢谢!
答案 0 :(得分:2)
您想使用--path
参数。 From the documentation:
指定与系统默认路径不同的路径($ BUNDLE_PATH或 $ GEM_HOME)。 Bundler将记住此值以供将来安装 这台机器
以此为例:
bundle install --path vendor/bundle
将确保您的宝石将安装在相对于项目根目录创建的vendor/bundle
下。
修改强>
当有人使用--path
使用bundler安装您的gem时,您的gem的依赖项应该安装在上面提到的同一位置vendor/bundle
。它不会在系统范围内安装它。