2014-09-03 30 views
0

爲什麼在某些寶石中沒有.gemspec文件,例如。 rspecrspec-rails,如果沒有.gemspec文件,那麼gem是如何構建的?爲什麼在某些寶石中沒有gemspec

謝謝!

+2

這兩個寶石中都有'.gemspec'文件。例如見https://github.com/rspec/rspec。 – Jesper 2014-09-03 06:48:18

+0

好吧,它不是封裝的寶石,我打開它'打開'。感謝 – dfang 2014-09-03 08:27:34

回答

1

.gemspec是需要建立的寶石,但不使用它。它爲什麼會在寶石中?規範已經包含在gem的元數據中,爲什麼要複製它?

gem spec rspec 
# --- !ruby/object:Gem::Specification 
# name: rspec 
# version: !ruby/object:Gem::Version 
# version: 3.0.0 
# platform: ruby 
# authors: 
# - Steven Baker 
# - David Chelimsky 
# - Myron Marston 
# autorequire: 
# bindir: bin 
# cert_chain: [] 
# date: 2014-06-02 00:00:00.000000000 Z 
# dependencies: 
# - !ruby/object:Gem::Dependency 
# name: rspec-core 
# requirement: !ruby/object:Gem::Requirement 
#  requirements: 
#  - - "~>" 
#  - !ruby/object:Gem::Version 
#   version: 3.0.0 
# type: :runtime 
# prerelease: false 
# version_requirements: !ruby/object:Gem::Requirement 
#  requirements: 
#  - - "~>" 
#  - !ruby/object:Gem::Version 
#   version: 3.0.0 
# - !ruby/object:Gem::Dependency 
# name: rspec-expectations 
# requirement: !ruby/object:Gem::Requirement 
#  requirements: 
#  - - "~>" 
#  - !ruby/object:Gem::Version 
#   version: 3.0.0 
# type: :runtime 
# prerelease: false 
# version_requirements: !ruby/object:Gem::Requirement 
#  requirements: 
#  - - "~>" 
#  - !ruby/object:Gem::Version 
#   version: 3.0.0 
# - !ruby/object:Gem::Dependency 
# name: rspec-mocks 
# requirement: !ruby/object:Gem::Requirement 
#  requirements: 
#  - - "~>" 
#  - !ruby/object:Gem::Version 
#   version: 3.0.0 
# type: :runtime 
# prerelease: false 
# version_requirements: !ruby/object:Gem::Requirement 
#  requirements: 
#  - - "~>" 
#  - !ruby/object:Gem::Version 
#   version: 3.0.0 
# description: BDD for Ruby 
# email: [email protected] 
# executables: [] 
# extensions: [] 
# extra_rdoc_files: [] 
# files: [] 
# homepage: http://github.com/rspec 
# licenses: [] 
# metadata: 
# post_install_message: 
# rdoc_options: [] 
# require_paths: 
# - lib 
# required_ruby_version: !ruby/object:Gem::Requirement 
# requirements: 
# - - ">=" 
#  - !ruby/object:Gem::Version 
#  version: '0' 
# required_rubygems_version: !ruby/object:Gem::Requirement 
# requirements: 
# - - ">=" 
#  - !ruby/object:Gem::Version 
#  version: '0' 
# requirements: [] 
# rubyforge_project: rspec 
# rubygems_version: 2.2.2 
# signing_key: 
# specification_version: 4 
# summary: rspec-3.0.0 
# test_files: [] 
# has_rdoc: true 
+0

所以這些元數據信息存儲在哪裏? github.com/rspec存儲庫中有一個gemspec文件,但不在寶石源中 – dfang 2014-09-06 15:09:18

+0

它存儲在Gem中。如果您想知道在何處以及如何到達,您必須查看RubyGems的源代碼或Gem文件格式的規範。我的猜測是它只是存儲在ZIP中的文件中。 – 2014-09-06 23:24:23

+0

你的意思是打開rspec打開的源代碼嗎?我找不到有關這些元數據的任何信息 – dfang 2014-09-07 08:23:58

相關問題