Próbuję zbudować niestandardowy klejnot, który napisałem o nazwie client_package
, ale to się nie udaje.Próba zbudowania klejnotu, uzyskanie Gem :: InvalidSpecificationException: "[...] nie są plikami"
Moja struktura katalogów wygląda następująco:
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...
A moja client_package.gemspec
wygląda następująco:
# 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
I wszystkie moje pliki są zaangażowani i stan git jest czysty.
Od wewnątrz górnej client_package
katalogu, biegnę gem build client_package.gemspec
i uzyskać ten błąd:
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
To jest zastanawiające dla mnie, bo te z pewnością wydaje się być pliki do mnie. W każdym razie doszedłem do wniosku, że istnieje pewien problem związany ze ścieżką, jeśli nie widzę tych plików, a po prostu wykonując próbę i błąd, odkryłem, że jeśli przejdę do katalogu (jednego powyżej najwyższego poziomu client_package
), a następnie uruchomię gem build client_package/client_package.gemspec
, pojawi się czy do pracy na początku, tworząc plik client_package-1.0.0.gem
. Ale coś jest nadal nie tak. Jeśli następnie zainstaluję ten klejnot za pomocą gem install client_package-1.0.0.gem
, który również będzie działał. Ale wtedy:
require 'rubygems'
require 'client_package'
Zwroty LoadError: no such file to load -- client_package
.
Czuję, że brakuje mi czegoś małego, ale ważnego. Jakieś pomysły?
Jestem idiotą. Dzięki! –
Ja i moje uzależnienie od pojedynczych cudzysłowów =). –