捆绑包和gem安装之间的区别?

问题描述 投票:28回答:2

我很确定这是一个非常基本的问题,但是作为RoR新手,我想了解为什么有时我会使用捆绑安装(从我暗中安装所有Gems及其从Gemfile中获取的依赖)和gem install [gemname]吗?

两者之间的根本区别是什么?何时需要使用gem install而不是bundle install?

谢谢!Rog

ruby-on-rails gem bundler
2个回答
22
投票

我想说:默认情况下,在您的本地计算机上,没有什么区别,但是...

bundle install的目的是为包含Gemfile的应用程序设置所有内容。您甚至可以传递参数以将所需的gems安装在所需的任何文件夹中。

通过这种方式在生产中,您已经清楚地将应用程序与自己的宝石分开。

另一方面,gem install gmaps4rails简单广告)为您的整个环境安装了gem。


0
投票

我曾经认为将gem添加到gemfile然后运行'bundle install'或执行'gem install x'之间没有区别。我认为这类似于执行“ yarn add package”与将包添加到package.json然后运行“ yarn”。

但是,当尝试设置用于轨道的Chamber Gem时,我注意到只有在运行'gem install chamber'之后,我才能够使用Chamber命令'chamber init'。以前,当我仅将其添加到gemfile并进行捆绑安装时,运行“ chamber init”将使我在终端中出现“未知命令室”错误。

有趣..

© www.soinside.com 2019 - 2024. All rights reserved.