尽管我喜欢使用bundler
gem将依赖项封装在自己的gem中的想法,但我仍无法弄清其[mis]功能。
专门针对此问题,当我root
安装包含在其捆绑包中的其他提供二进制文件的gem的gem时,这些二进制文件将在系统范围内安装,可能会干扰来自其他来源的同名二进制文件。
如何将捆绑包的效果具体保持在拥有的宝石的影响范围内?就是说,不是在gem自己的未打包树之外安装东西?
谢谢!
您要使用--path
参数。从文档中:
指定与系统默认路径不同的路径($ BUNDLE_PATH或$ GEM_HOME)。Bundler会记住此值,以备将来在此计算机上安装
举个例子:
bundle install --path vendor/bundle
将确保安装您的gem vendor/bundle
,相对于您项目的根目录,将在该gem下创建该gem 。
编辑:
当有人使用捆绑程序通过bundler安装您的gem时--path
,您的gem的依赖项应安装在上述相同的位置vendor/bundle
。它将不会安装在系统范围内的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句