【问题标题】:Rake build - Gemfile not foundRake 构建 - 未找到 Gemfile
【发布时间】:2014-06-28 14:09:08
【问题描述】:

当我尝试使用rake build 构建时,它说它找不到 Gemfile,即使我正在执行它的文件夹中肯定有一个...当我查看它的执行方式时,有一个很神秘很奇怪cd /home/myuser/masterfolder...我不知道为什么会这样!以下是我在 /home/myuser/masterfolder/slate 中运行 rake build --trace 时发生的情况,该文件夹中包含我的 Gemfile:

** Invoke build (first_time)
** Execute build
cd /home/myuser/masterfolder
bundle exec middleman build --clean
Could not locate Gemfile
rake aborted!
Command failed with status (10): [bundle exec middleman build --clean...]
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/file_utils.rb:55:in `block in create_shell_runner'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/file_utils.rb:45:in `call'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/file_utils.rb:45:in `sh'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/file_utils_ext.rb:37:in `sh'
/var/lib/gems/1.9.1/gems/middleman-gh-pages-0.0.3/lib/middleman-gh-pages/tasks/gh-pages.rake:60:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/1.9.1/fileutils.rb:125:in `chdir'
/usr/lib/ruby/1.9.1/fileutils.rb:125:in `cd'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/file_utils_ext.rb:37:in `cd'
/var/lib/gems/1.9.1/gems/middleman-gh-pages-0.0.3/lib/middleman-gh-pages/tasks/gh-pages.rake:59:in `block in <top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:240:in `call'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:240:in `block in execute'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:235:in `each'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:235:in `execute'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:172:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/task.rb:165:in `invoke'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:150:in `invoke_task'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:106:in `each'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:106:in `block in top_level'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:115:in `run_with_threads'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:100:in `top_level'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:78:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:176:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.3.1/lib/rake/application.rb:75:in `run'
/var/lib/gems/1.9.1/gems/rake-10.3.1/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Tasks: TOP => build

如果问题不是由 cd 引起的,我会感到震惊,但我只是不知道为什么它会进入一个目录并且找不到如何阻止它。

【问题讨论】:

  • 您是否使用 gemspec,如果是,您可以打印其内容吗?

标签: ruby rake rakefile


【解决方案1】:

因为你的中间人宝石。它以不同的方式处理 Gemfile。来自docs

宝石文件

Middleman 将尊重 Bundler Gemfile 用于指定和 控制您的 gem 依赖项。创建新项目时, Middleman 将为您生成一个 Gemfile,其中指定了相同的 您正在使用的中间人版本。这会将中间人锁定到此 特定的发布系列(例如 3.0.x 系列)。你也可以 使用您的 Gemfile 来使用来自 GitHub 的最先进的 Middleman 版本 使用 :git 选项。您在您的 项目应该列在您的 Gemfile 中,Middleman 将 启动时自动要求所有这些。

我没有使用过那个 gem,但是根据文档,你可能需要这样做来构建,而不是 rake build:

bundle exec middleman build

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多