Ruby捆绑没有捆绑的宝石'二进制文件?

时间:2014-06-11 20:35:25

标签: ruby gem bundler

虽然我喜欢使用bundler gem来封装我自己的gem中的依赖项,但我还没有能够弄清楚它的某些[mis]功能。

特别针对这个问题,当我作为root安装一个gem,其中包含其他提供二进制文件的gem时,这些二进制文件在系统范围内安装,可能与来自其他来源的同名二进制文件相关。 / p>

如何将捆绑的影响特别保持在拥有宝石的影响之内? I.e。,不在gem自己的解压缩树之外安装东西?

谢谢!

1 个答案:

答案 0 :(得分:2)

您想使用--path参数。 From the documentation

  

指定与系统默认路径不同的路径($ BUNDLE_PATH或   $ GEM_HOME)。 Bundler将记住此值以供将来安装   这台机器

以此为例:

bundle install --path vendor/bundle

将确保您的宝石将安装在相对于项目根目录创建的vendor/bundle下。

修改

当有人使用--path使用bundler安装您的gem时,您的gem的依赖项应该安装在上面提到的同一位置vendor/bundle。它不会在系统范围内安装它。