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 回答