0

作成したgemのローカルインストールを実行しようとすると、なぜこのエラーが発生するのでしょうか。インターネットで公開したくないので、自分で内部的に使用するだけです。

MacBook-Pro:$ sudo gem install ./mylibrary-0.1.0.gem
ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: mylibrary requires yaml (>= 0), erb (>= 0), date (>= 0), net/smtp (>= 0)

gemspecの重要な部分は次のとおりです。

Gem::Specification.new do |s|
  s.add_dependency('yaml')
  s.add_dependency('erb')
  s.add_dependency('mechanize')
  s.add_dependency('date')
  s.add_dependency('json')
  s.add_dependency('net/smtp')
  s.add_dependency('mail')
end

余談ですが、今のところ、rubyファイルに「require'yaml'」の行を残しています。ローカルにインストールすることに成功したら、gemを使用するときに、これらを取り出すことになっているのかどうかはよくわかりません。

4

1 に答える 1

3

madth3の入力でこの回答を修正しました。

yaml、date、erb、net/smtpはgemではありません。これらを依存関係として削除すれば、うまくいくはずです。

Gem::Specification.new do |s|
  s.add_dependency('mechanize','~> 2.3')
  s.add_dependency('json',     '~> 1.6.5')
  s.add_dependency('mail',     '~> 2.4.4')
end
于 2012-03-23T00:24:09.757 に答える