2

Rails/Rack 以外のプロジェクトで Sprockets を利用しようとしていますが、Simone Carletti によるハウツー ガイドを見つけました。

私は自分のプロジェクトを次のように設定しています:

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

Gemfile:

source "http://rubygems.org"

gem 'sass'
gem 'sprockets'

レーキファイル:

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

バンドルは正常にインストールされます。

私が走るとき

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 を使用します。

4

1 に答える 1

2
task :compile => :cleanup do

これは、タスク:compileが必要であるが、タスクが定義され:cleanupていないことを意味します。:cleanupに変更します

task :compile do
于 2012-09-29T15:33:28.030 に答える