私が書いたカスタム gem を作成しようとしてclient_package
いますが、失敗しています。
私のディレクトリ構造は次のようになります。
client_package
Gemfile
Gemfile.lock
client_package.gemspec
Rakefile
Readme.md
.gitignore
.git
...git files...
lib
client_package.rb
client_package
version.rb
api.rb
...more...
そして、私は次のようにclient_package.gemspec
見えます:
# encoding: UTF-8
require File.expand_path('../lib/client_package/version', __FILE__)
Gem::Specification.new do |s|
s.name = 'client_package'
s.version = ClientPackage::VERSION
s.platform = Gem::Platform::RUBY
s.files = `git ls-files`.split('\n')
s.executables = `git ls-files -- bin/*`.split('\n').map{ |f| File.basename(f) }
s.require_paths = ['lib']
# also have s.authors, s.email, s.homepage, s.summary, s.description
s.add_dependency 'httparty'
s.add_dependency 'json'
end
すべてのファイルがコミットされ、git の状態はクリーンです。
最上位client_package
ディレクトリから実行するgem build client_package.gemspec
と、次のエラーが表示されます。
ERROR: While executing gem ... (Gem::InvalidSpecificationException)
[".gitignore
Gemfile
Rakefile
Readme.md
client_package.gemspec
lib/client_package.rb
lib/client_package/api.rb
lib/client_package/version.rb
lib/client_package/...more...
"] are not files
これらは確かにファイルのように見えるので、これは私には不可解です。とにかく、これらのファイルが表示されない場合は、パスに問題があると考えました。試行錯誤を行っただけで、ディレクトリ (トップレベルより上の 1 つclient_package
) に移動して実行すると、最初は動作しているように見えるgem build client_package/client_package.gemspec
ことがわかりました。 、ファイルを作成しますclient_package-1.0.0.gem
。しかし、まだ何かが間違っています。次に、その宝石をインストールすると、gem install client_package-1.0.0.gem
それも機能するように見えます。しかし、これは:
require 'rubygems'
require 'client_package'
を返しますLoadError: no such file to load -- client_package
。
小さいけれど大切なものを見落としているような気がします。何か案は?