我想通过gem install安装一个gem,但是我需要它来解决当前项目的依赖关系。
基本上,我希望邦德勒在Gemfile中指定gem 'xyz'时提供给我的功能,但我不想将特定的gem添加到Gemfile中。
我试过做bundle exec gem install ...,但它似乎不起作用。
编辑:我不想将它添加到Gemfile中的原因是,它可能类似于metric_fu、metrical、saikuro、rails_best_practices等。
我可能只想暂时使用它们,或者安装它们,尝试一下,如果它不符合我希望再次做rvm gemset empty和bundle install来清理的方式。
发布于 2012-01-04 14:18:29
在某种程度上,邦德勒的目的是阻止你做类似的事情(当你的项目没有声明时,防止你从外部注入宝石)。
要想找到这样做的方法,那就是在邦德勒中寻找一个bug。如果您确实找到了一些绕过邦德勒执行机制的方法,那么您可能不应该使用它;相反,您可以考虑将其作为一个错误提交给邦德勒的问题跟踪器。
现在我们来问真正的问题:你能做什么?那你该怎么办?
或者你应该停止使用Bundler,因为你想要做一些事情,它是明确地设计来阻止你去做的(不推荐)。
发布于 2012-01-04 13:43:30
冒着听起来很傻的风险,为什么不把它添加到宝石文件中呢?如果您不想在任何地方安装它,可以将它添加到它自己的组中。
发布于 2012-01-04 19:33:28
一个稍微不同的方法是,如果您使用版本控制(如Git )来创建一个新分支并安装gems。如果不成功,卸载gem (我不确定这将通过对旧分支的包更新来完成)并将分支垃圾化。如果是的话,就把你的东西合并到旧的分支里去。
虽然我相信其他的答案和评论有一些非常好的观点。
https://stackoverflow.com/questions/8727794
复制相似问题