【问题标题】:Why rake aborts [rake --tasks] with cannot load such file on my Windows box?为什么 rake aborts [rake --tasks] 无法在我的 Windows 机器上加载此类文件?
【发布时间】:2012-08-23 05:19:56
【问题描述】:

我正在尝试从没有 rails 或任何东西的目录中执行 rake 任务。里面只有一个目录和一个 Rakefile.rb。

目前我不知道它为什么会失败。但我认为从 Rakefile 所在的目录中执行 rake 应该从该 rakefile 执行任务。我错过了加载路径还是什么?

我的环境

Win7 (x64)

ruby 1.9.3p194 (2012-04-20) [i386-mingw32]

rake, version 0.9.2.2

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.23
  - RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [i386-mingw32]
  - INSTALLATION DIRECTORY: C:/Ruby193/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: C:/Ruby193/bin/ruby.exe
  - EXECUTABLE DIRECTORY: C:/Ruby193/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32
  - GEM PATHS:
     - C:/Ruby193/lib/ruby/gems/1.9.1
     - C:/Users/pantarhei/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

这是错误信息

[rake --tasks] rake aborted!
cannot load such file -- D:/Projects/_Web/FOO/Rakefile
C:/Ruby193/lib/ruby/1.9.1/rake/rake_module.rb:25:in `load'
C:/Ruby193/lib/ruby/1.9.1/rake/rake_module.rb:25:in `load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:501:in `raw_load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:82:in `block in load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:81:in `load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:65:in `block in run'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:63:in `run'
C:/Ruby193/bin/rake:32:in `<main>'


    [rake --prereqs] rake aborted!
cannot load such file -- D:/Projects/_Web/FOO/Rakefile
C:/Ruby193/lib/ruby/1.9.1/rake/rake_module.rb:25:in `load'
C:/Ruby193/lib/ruby/1.9.1/rake/rake_module.rb:25:in `load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:501:in `raw_load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:82:in `block in load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:81:in `load_rakefile'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:65:in `block in run'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
C:/Ruby193/lib/ruby/1.9.1/rake/application.rb:63:in `run'
C:/Ruby193/bin/rake:32:in `<main>'

【问题讨论】:

    标签: ruby windows rake


    【解决方案1】:

    您可以尝试将 Rakefile.rb 重命名为 Rakefile(不带 .rb 扩展名),然后重试吗?

    如果:也试试:

    rake -T -fRakefile.rb
    

    有效。

    【讨论】:

    • 天哪。尝试了一切,但将文件重命名为Rakefile。看起来它现在正在工作。有趣的是,将Rakefile.rb 放入文件夹Rakefile 也可以。
    • 其实Rakefile.rb 也应该可以。您能否检查当前工作目录上方的任何目录中是否有Rakefile(我假设为D:/Projects/_Web/FOO/?rake 可能试图从目录路径中的更高版本加载一个版本并失败.
    【解决方案2】:

    在你写的问题Reakefile.rb;我不知道这是否只是问题中的拼写错误,或者您在目录中的 rakefile 是否实际上被称为 this,但请确保它被称为 RakefileRakefile.rb

    【讨论】:

    • 对不起。修正了最初问题中的错字。我可以保证文件名是Rakefile.rb
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2014-09-15
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多