ruby - 在非 Rails/Rack 项目中使用 Sprockets — rake 编译命令出现错误

标签 ruby rubygems sprockets

我正在尝试在非 Rails/Rack 项目上使用 Sprockets,并且遇到了 how-to guide by Simone Carletti

我的项目设置如下:

.
Gemfile
Rakefile
/src
    /javascripts
    /stylesheets
        960.css

gem 文件:

source "http://rubygems.org"

gem 'sass'
gem 'sprockets'

Rake 文件:

require 'rubygems'
require 'bundler'
require 'pathname'
require 'logger'
require 'fileutils'

Bundler.require

ROOT        = Pathname(File.dirname(__FILE__))
LOGGER      = Logger.new(STDOUT)
BUNDLES     = %w( all.css all.js )
BUILD_DIR   = ROOT.join("build")
SOURCE_DIR  = ROOT.join("src")

task :compile => :cleanup do
  sprockets = Sprockets::Environment.new(ROOT) do |env|
    env.logger = LOGGER
  end

  sprockets.append_path(SOURCE_DIR.join('javascripts').to_s)
  sprockets.append_path(SOURCE_DIR.join('stylesheets').to_s)

  BUNDLES.each do |bundle|
    assets = sprockets.find_asset(bundle)
    prefix, basename = assets.pathname.to_s.split('/')[-2..-1]
    FileUtils.mkpath BUILD_DIR.join(prefix)

    assets.write_to(BUILD_DIR.join(prefix, basename))
    assets.to_a.each do |asset|
      # strip filename.css.foo.bar.css multiple extensions
      realname = asset.pathname.basename.to_s.split(".")[0..1].join(".")
      asset.write_to(BUILD_DIR.join(prefix, realname))
    end
  end
end

我运行

bundle install

并且 bundle 安装成功。

当我运行时

rake compile

我收到以下错误

rake aborted!
Don't know how to build task 'cleanup'

Tasks: TOP => compile
(See full trace by running task with --trace)

关于为什么会发生这种情况有什么想法吗?如果有助于调试此问题,请使用 ruby​​ 1.9.3p194。

最佳答案

task :compile => :cleanup do

这意味着任务 :compile 需要 :cleanup 但您没有定义 :cleanup 任务。将其更改为

task :compile do

关于ruby - 在非 Rails/Rack 项目中使用 Sprockets — rake 编译命令出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654001/

相关文章:

ruby-on-rails - 使用 has_many 关系播种

ruby - gem 1.8.10 错误

ruby - Assets 不会在生产中编译

ruby-on-rails - wicked_pdf: ActionView::Template::Error(找不到文件 'twitter/bootstrap'

ruby - 获取 libxml2.2.dylib "file is not of required architecture"错误

ruby-on-rails - 了解 "require"和类命名约定之间的 Rails 关系

ruby - 我如何使用 ruby​​ 1.8.7 生成一个充满随机数的 4 x 5 矩阵

ruby-on-rails - bundle 更新卡在 "Fetching source index for http://rubygems.org/"

ruby-on-rails - 'gem 安装' 和 'sudo gem install'

css - Rails App 中的样式表范围不正确