Ruby中的“Gemfile”在哪里?

时间:2016-05-30 13:17:03

标签: ruby rubygems install gemfile

我经常在互联网上的文档中看到,“把它放在Gemfile中”。我不知道这个“Gemfile”在哪里和什么。如果我安装了gem,那么我已经安装了它。谁需要比“Gemfile”? Gemfile的位置和内容,以及为什么使用它?

4 个答案:

答案 0 :(得分:6)

Gemfile就在您想要的任何地方 - 通常位于项目的主目录中,文件名为Gemfile

拥有一个是很方便的,因为它允许您使用 Bundler 来管理哪些宝石以及您的项目需要运行的版本。

如果您没有使用Bundler(您应该使用它!),那么您可以安装gem install X遇到的任何宝石,并忽略有关向Gemfile添加行的说明。

在这里阅读更多相关信息:

答案 1 :(得分:1)

Gemfile在Rails项目中,因为Ruby运行 gem environment 以了解您的宝石环境:

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

请注意以下两个部分:

  • INSTALLATION DIRECTORY
  • GEM PATHS

答案 2 :(得分:0)

Gemfile是一个必须位于rails项目根目录中的文件。它用于描述Ruby程序的gem依赖项。

你的gemfile中的第一件事是你告诉Gemfile在哪里寻找宝石的来源。

Source可以作为块调用,您可以在gemfile中拥有多个源。

source "https://my_awesome_source.com" do
  gem "my_gem"
  gem "my_other_gem"
end

以下是一些文档,您可以在其中阅读有关gemfile的更多信息 http://bundler.io/gemfile.html

答案 3 :(得分:0)

只需运行 gem update --system 就可以了。就是这么简单!!!