Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rake自动加载Gemspec_Ruby_Rake_Gemspecs - Fatal编程技术网

Ruby Rake自动加载Gemspec

Ruby Rake自动加载Gemspec,ruby,rake,gemspecs,Ruby,Rake,Gemspecs,我想知道,rake任务是否自动加载.gempec?我这样问是因为我正在运行一个rake任务来自动构建我的gem,其中一部分是加载文件并打印消息 我应该看到: 为rake_任务加载外部库 相反,我看到: 为gempec加载外部库 信息很简单: puts "Loading external libaries for #{$Loading_for}" 根据文件加载请求的来源,例如rake_任务、gempec、可执行文件、app,为设置$loading_ 即使我在rake任务中为`设置$loading

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

我应该看到:

为rake_任务加载外部库

相反,我看到:

为gempec加载外部库

信息很简单:

puts "Loading external libaries for #{$Loading_for}"
根据文件加载请求的来源,例如rake_任务、gempec、可执行文件、app,为设置
$loading_

即使我在rake任务中为`设置$loading_,使用:

$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"
在我的宝石中


p、 我知道库的拼写错误,这已经被修复。

Rake只是ruby代码,所以除非你没有使用其他gem来操纵你的简单Rake命令。您不应该加载gemesc文件

我在github上的rake存储库中搜索了这个$global变量,但什么也没找到


如果您认为您正在做的事情可能会影响您的ruby自然代码,请更新此问题。

我认为您误解了我的问题。问题是gemspec文件是在我不做任何事情的情况下加载的,rake或其他东西是自动加载gemspec的。其次,
$loading\u for
是我设置的一个全局值:当运行rake、我的可执行文件、我的应用程序或构建我的gem时(因为我的gempec以与应用程序相同的方式加载关于我的gem的信息)。通过设置,我可以知道请求文件加载的内容。我明白了。就我个人而言,我会运行grep-r'gempec',看看代码库中是否有任何东西叫它!希望能有帮助。我会试试看