2012-02-12 7 views
23

Sprocketsオブジェクトのコンパイルが失敗した場合(CoffeeScriptまたはSASSの構文エラーのため)、「ファイルは既に必要です」というエラーが修正された後、再コンパイルできません。スプロケットキャッシュをクリアするには?

Sprocketsオブジェクトを機能させるには、そのオブジェクトを破棄してから再作成する必要があります。 Sprocketオブジェクトに内部的にリセットしてこの問題にぶつからないように指示する方法があるかどうか知っていたのかどうか疑問に思っていました。

+1

これは開発モードまたはプリコンパイル済みアセットを使用している環境にありますか? –

答えて

23

rake tmp:cache:clearは、一時キャッシュディレクトリを削除します。私の場合は

+0

スプロケットキャッシュをクリーニングしません。 '。/ tmp/cache/assets/development/sprockets/'の下のファイルはまだ存在します。 – Zorayr

+1

'rake assets:clobber'はどうですか?最近の追加であり、Rails 4でしか利用できないかもしれません。 –

+4

私の場合、 'rake tmp:clear'が働いていました。 – Zorayr

9

は、次のコマンドは、働いていた:

rake tmp:clear 
+1

これは、資産/スプロケットキャッシュよりも広い「クリア」です。 ['tmp' docs](http://guides.rubyonrails.org/command_line.html#tmp)によると: "rake tmp:clearはキャッシュ、セッション、ソケットの3つすべてをクリアします"。 –

2

それは次のようになります。

Rails.application.assets.cache.clear 

しかしthis methodのみmasterブランチにともないbetaに。

更新:4.0.0.beta5に追加されました。