【问题标题】:Rails : gem install vs. gemfile & bundle installRails:gem install vs. gemfile & bundle install
【发布时间】:2013-06-11 14:45:12
【问题描述】:

使用之间的确切区别是什么:

1- gem install [gemname]

2- 将 gem 名称和版本添加到 GemFile 并运行 bundle install

?

【问题讨论】:

    标签: ruby-on-rails rubygems gemfile bundle-install


    【解决方案1】:

    RubyGems 类似于 Ruby 的包管理器。这是一种安装自包含库以在应用程序中使用的方法。当您使用 gem install gemname 时,您正在将该 gem 安装到您正在开发的当前机器上。

    Bundler 是一个用于管理应用程序所依赖的 gem 的工具。创建 Gemfile 时,您会列出应用程序所需的各种 gem 及其版本。这使您可以轻松地确保您的应用程序在将其部署到新位置时具有所需的 gem - 例如,当您推送到 Heroku 时,您的 Gemfile 用于确定应用程序的所有依赖项。

    运行bundle install 将获取您的gemfile 中所需的gem 列表,如果尚未安装它们,就像为您的应用程序需要的每个gem 执行gem install 一样。

    【讨论】:

    • 谢谢!但我想知道我是否使用gem install 安装了所有 4example 15 个 gem,这与将它们放入 Gemfile 并运行bundle install 相同吗?我不这么认为,因为bundle install 花费了太多时间并出现大量错误,而gem install 经常快速安装 Gems 而不会出错!
    • 很难确定为什么 Bundler 在没有任何其他细节的情况下速度较慢,但​​ Bundler 会自动检查并安装所有依赖 gem 的较新版本(即使是您没有明确声明的那些,但它们的依赖项你确实声明了),这可能比gem install慢。
    • 所以你说 gem install 对于 GemFile 中的所有 gem,手动,不会让应用程序工作吗? (因为依赖)!!
    • gem install 也会尝试获取依赖项(如果我没记错会提示,或者使用--include-dependencies)。 Bundler 只是一种使它更容易的方法。理想情况下,在将应用程序移植到新环境后输入 bundle install 比为所有 gem 输入 gem install 更容易。
    猜你喜欢
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2014-09-14
    • 1970-01-01
    相关资源
    最近更新 更多