Rake自动加载Gemspec

时间:2015-05-12 14:49:11

标签: ruby rake gemspecs

我想知道,rake任务是否自动加载.gemspec?我问,因为我正在运行一个rake任务来自动构建我的gem,其中一部分是加载文件并打印出消息。

我应该看到:

Loading external libraries for rake_tasks

相反,我看到了:

Loading external libraries for gemspec

消息很简单:

puts "Loading external libaries for #{$Loading_for}"

$loading_for取决于文件加载请求的来源,例如: rake_tasks,gemspec,executable,app。

即使我在rake任务中使用:

设置$ loading_for`
$Loading_for = :rake_tasks

它的印刷:

Loading external libaries for gemspec

问题是为什么要加载gemspec?我没有在我的rakefile中加载它。

另外,另一个奇怪的是,每当我做rake -h时,我都会收到一个奇怪的警告:

WARN: Unresolved specs during Gem::Specification.reset:
      rack-test (>= 0)

我有点奇怪:

spec.add_development_dependency "rack-test", "0.6.3"

在我的gemspec中。

P.S。我已经意识到libaries的拼写错误,这已得到修复。

1 个答案:

答案 0 :(得分:0)

Rake只是ruby代码,所以除非你没有使用某种其他宝石以某种方式操纵你的简单rake命令。你不应该加载gemsec文件!

我在github上的rake存储库中搜索了这个$ global变量,却一无所获。 here

如果您认为自己正在做可能影响自然红宝石代码的事情,请更新问题。