我很确定这是一个非常基本的问题,但是作为RoR新手,我想了解为什么有时我会使用捆绑安装(从我暗中安装所有Gems及其从Gemfile中获取的依赖)和gem install [gemname]吗?
两者之间的根本区别是什么?何时需要使用gem install而不是bundle install?
谢谢!Rog
我想说:默认情况下,在您的本地计算机上,没有什么区别,但是...
bundle install
的目的是为包含Gemfile
的应用程序设置所有内容。您甚至可以传递参数以将所需的gems安装在所需的任何文件夹中。
通过这种方式在生产中,您已经清楚地将应用程序与自己的宝石分开。
另一方面,gem install gmaps4rails
(简单广告)为您的整个环境安装了gem。
我曾经认为将gem添加到gemfile然后运行'bundle install'或执行'gem install x'之间没有区别。我认为这类似于执行“ yarn add package”与将包添加到package.json然后运行“ yarn”。
但是,当尝试设置用于轨道的Chamber Gem时,我注意到只有在运行'gem install chamber'之后,我才能够使用Chamber命令'chamber init'。以前,当我仅将其添加到gemfile并进行捆绑安装时,运行“ chamber init”将使我在终端中出现“未知命令室”错误。
有趣..