0

sinatraアプリを起動するためにconfig.ruファイルを必要とするgemを書いています。実行可能ファイルはインストールされていますが、gemが保存されるペースを確認すると、config.ruがインストールされていません。これが私の宝石の構造です

gemservice
|-- bin
|  |-- gemservice
|-- lib
|  |-- gemservice
|  |  |-- version.rb  
|  |-- gemservice.rb
|  |-- config.ru
|-- Gemfile
|-- gemservice.gemspec
|-- Rakefile


$ gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.24
  - RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-darwin11.4.0]
  - INSTALLATION DIRECTORY: /Users/Armanm/.rvm/gems/ruby-1.9.3-p194
  - RUBY EXECUTABLE: /Users/Armanm/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/Armanm/.rvm/gems/ruby-1.9.3-p194/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-11
  - GEM PATHS:
     - /Users/Armanm/.rvm/gems/ruby-1.9.3-p194
     - /Users/Armanm/.rvm/gems/ruby-1.9.3-p194@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

rake installgemがインストールされると(コマンドを使用して)config.ruファイルの兆候はありません

$ ls -la /Users/Armanm/.rvm/gems/ruby-1.9.3-p194/gems/gemservice-0.0.1/lib/

total 8
drwxr-xr-x   4 Armanm  staff  136 24 Sep 13:52 .
drwxr-xr-x  10 Armanm  staff  340 24 Sep 13:52 ..
drwxr-xr-x   3 Armanm  staff  102 24 Sep 13:52 gemservice
-rw-r--r--   1 Armanm  staff  124 24 Sep 13:52 gemservice.rb
4

1 に答える 1

0

岡これは初心者の質問で、初心者の答えがあります。

そこで、gemsepcファイルにリストされたファイルが最終的にgem内にパッケージ化されるという難しい方法を見つけました。より具体的には、このコードはそれを行うものです:

Gem::Specification.new do |gem|
  ...    

  gem.files = `git ls-files`.split($\)

  ...
end

gitを使用して、gemをビルドするときにパッケージ化する必要のあるファイルにデータを入力します。したがって、config.ruファイルが含まれていることを確認する方法は、gitが。を使用してそれを認識していることを確認することでしたgit add lib/config.ru。ファイルがgitに追加されると、それは私のgemに含まれていました。

于 2012-09-24T05:36:14.767 に答える