我想知道,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
的拼写错误,这已得到修复。
答案 0 :(得分:0)
Rake只是ruby代码,所以除非你没有使用某种其他宝石以某种方式操纵你的简单rake命令。你不应该加载gemsec文件!
我在github上的rake存储库中搜索了这个$ global变量,却一无所获。 here
如果您认为自己正在做可能影响自然红宝石代码的事情,请更新问题。