【发布时间】:2016-09-28 08:14:10
【问题描述】:
我经常在 Internet 上的文档中看到“将其放入 Gemfile”。我不知道这个“Gemfile”在哪里以及是什么。如果我安装了一个 gem,那么我已经安装了它。谁比“Gemfile”更需要? Gemfile 在哪里或什么是,为什么要使用它?
【问题讨论】:
标签: ruby rubygems installation gemfile
我经常在 Internet 上的文档中看到“将其放入 Gemfile”。我不知道这个“Gemfile”在哪里以及是什么。如果我安装了一个 gem,那么我已经安装了它。谁比“Gemfile”更需要? Gemfile 在哪里或什么是,为什么要使用它?
【问题讨论】:
标签: ruby rubygems installation gemfile
Gemfile 在 Rails 项目中,对于 Ruby 运行 gem environment 以了解您的 gem 环境:
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.8
- RUBY VERSION: 2.2.1 (2015-02-26 patchlevel 85) [i686-linux]
- INSTALLATION DIRECTORY: /home/gagan/.rvm/gems/ruby-2.2.1
- RUBY EXECUTABLE: /home/gagan/.rvm/rubies/ruby-2.2.1/bin/ruby
- EXECUTABLE DIRECTORY: /home/gagan/.rvm/gems/ruby-2.2.1/bin
- SPEC CACHE DIRECTORY: /home/gagan/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /home/gagan/.rvm/rubies/ruby-2.2.1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/gagan/.rvm/gems/ruby-2.2.1
- /home/gagan/.rvm/gems/ruby-2.2.1@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /home/gagan/.rvm/gems/ruby-2.2.1/bin
- /home/gagan/.rvm/gems/ruby-2.2.1@global/bin
- /home/gagan/.rvm/rubies/ruby-2.2.1/bin
- /usr/local/heroku/bin
- /usr/lib/lightdm/lightdm
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
- /home/gagan/.rvm/bin
- /home/gagan/.rvm/bin
请注意以下两个部分:
【讨论】:
Gemfile 是一个必须位于 Rails 项目根目录的文件。它用于描述 Ruby 程序的 gem 依赖关系。
gemfile 中的第一件事是告诉 Gemfile 在哪里寻找 gems 的来源。
源可以作为一个块调用,并且您的 gemfile 中可以有多个源。
source "https://my_awesome_source.com" do
gem "my_gem"
gem "my_other_gem"
end
这里有一些文档,您可以在其中阅读有关 gemfile 的更多信息 http://bundler.io/gemfile.html
【讨论】:
Gemfile 位于您想要的任何位置 - 通常位于项目的主目录中,文件名为 Gemfile。
拥有一个很方便,因为它允许您使用 Bundler 来管理您的项目需要运行哪些 gem 以及每个版本。
如果您没有使用 Bundler(您应该使用它!),那么您可以安装任何遇到 gem install X 的 gem,而忽略有关向 Gemfile 添加行的说明。
在此处了解更多信息:
【讨论】:
只需运行 gem update --system 即可。就这么简单!!!
【讨论】: