1

gem が依存関係の解決をどのように処理するか知りたいです。

たとえば、gem foodcritic をインストールしたい場合、バージョン 1.5.0 の nokogiri に依存しています。

foodcritic-1.6.1.gem を解凍しましたが、文字列「1.5.0」、「rubygems.org」、またはバージョン情報を保持できるものはどこにも見つかりませんでした。

では、「gem」は、foodcritic が nokogiri-1.5.0 を要求していることをどのようにして知るのでしょうか?

その依存関係を手動で変更したいので、これを尋ねます。ありがとう

編集: foodcritic-1.6.1 には、gemfile または gemspec ファイルがありません。http://rubygems.org/gems/foodcriticで見つけることができます

4

1 に答える 1

0

ジェムスペックにあります。https://github.com/acrmp/foodcritic/blob/master/foodcritic.gemspecを参照してください

...
s.add_dependency('nokogiri', '= 1.5.0')
...

編集...宝石ファイルにあります...それを抽出すると、metadata.gzが表示されます。gemspec 情報が含まれています...\

$ ll
total 56
-rw-r--r--@ 1 philip  staff  28160 Nov 13 12:54 foodcritic-1.6.1.gem
philip@Philips-MacBook-Pro:~/Downloads
$ file foodcritic-1.6.1.gem 
foodcritic-1.6.1.gem: POSIX tar archive
philip@Philips-MacBook-Pro:~/Downloads
$ tar xvf foodcritic-1.6.1.gem 
x data.tar.gz
x metadata.gz
philip@Philips-MacBook-Pro:~/Downloads
$ zmore metadata.gz 
------> metadata.gz <------
--- !ruby/object:Gem::Specification
name: foodcritic
version: !ruby/object:Gem::Version
  version: 1.6.1
  prerelease: 
platform: ruby
authors:
- Andrew Crump
autorequire: 
bindir: bin
cert_chain: []
date: 2012-08-30 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
  name: gherkin
  requirement: !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - ~>
      - !ruby/object:Gem::Version
        version: 2.11.1
  type: :runtime
  prerelease: false
  version_requirements: !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - ~>
      - !ruby/object:Gem::Version
        version: 2.11.1
- !ruby/object:Gem::Dependency
  name: gist
  requirement: !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - ~>
      - !ruby/object:Gem::Version
        version: 3.1.0
  type: :runtime
  prerelease: false
  version_requirements: !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - ~>
      - !ruby/object:Gem::Version
        version: 3.1.0
- !ruby/object:Gem::Dependency
  name: nokogiri
  requirement: !ruby/object:Gem::Requirement
    none: false
    requirements:
philip@Philips-MacBook-Pro:~/Downloads
于 2012-11-13T20:53:49.520 に答える