2015-12-05 14 views
8

私は新しいSymfonyプロジェクトを開始しています。私が入力した後:アセットがSymfony 2.8と3.0に見つかりません

symfony new project-name 

私は、新しいプロジェクトが作成されていることがわかりますが、私は、プロジェクト内のAsseticバンドルを見つけることができません。また、私がしようとした場合:

app/console 

私は、以下のコマンドを見つけることができません:

assetic:dump 
assetic:watch 

して誰かが私を助けてもらえますか?私は間違って何をしています。ダウンロードしたファイルに問題がありますか?

答えて

12

アシェットバンドルはSF 3.2以降含まれていません。私は、これはいくつかの互換性の問題が原因だと思う。

あなたのcomposer.json

"symfony/assetic-bundle": "~2", 

に手動で追加し、カーネルに新しいバンドルを追加することができます。

new Symfony\Bundle\AsseticBundle\AsseticBundle(), 

次に動作するはずです。私はSF 2.8を使用しています。いくつかの廃止の警告があり、SF3の下で動作するかどうかわかりません。

+0

興味深い、私は知りませんでした。この決定についての詳細情報をオンラインリソースにお持ちですか? – lxg

+0

残念ながら私はSF 2.8にアップグレードしてコンポーザーの依存関係をコピーしたのと同じ問題はありませんでした。それから私はそれをチェックし、新しいプロジェクトを作成し、その欠落を見ました。どうしてか分かりません。 – Stony

+0

最も悲惨な部分は、ドキュメントがasseticコマンドをまだ話しているが動作しないということです。 Symfony 3のドキュメントでさえも! –

8

AsseticBundleは2.8の標準ディストリビューションから削除されました。

composer require symfony/assetic-bundle 

そして、あなたのAppKernelにバンドルを追加:

new Symfony\Bundle\AsseticBundle\AsseticBundle(), 

一つのことにこれは、あなたがAsseticを使用したい場合、あなたはまだ実行して、手動で依存関係を含めることで、そうするかもしれないことを意味しますしかし、知っている。 AsseticBundleはまだ3.0に移行されていません。

したがって、3.0プロジェクトを開始する場合は、これを使用することはできません。 これはかなりのバンドル(そしてその中でもSonataバンドル)にも当てはまりますが、先週の公式リリース前に3.0のリリースに移行する作業を開始した開発者もいますが、一部のバンドルでは3.0と互換性があります。

AsseticBundle(およびその他)を次の月に移行してください。または、あなたが気前がれば、あなたはAsseticやAsseticBundleに貢献することができます! ;)

編集:前AsseticBundleは今月末までにタグ付けする必要があり、そうでない場合は、STOFはこの問題に言ったように:https://github.com/symfony/assetic-bundle/issues/401

+0

asseticの代わりがあることを知っている。 gulpをアセットパイプラインとして使用するIMHOははるかに柔軟で強力です。 (ファイルウォッチャーははるかに速く、よりスムーズで、 '{%stylesheets%}'や '{%javascripts}}タグでhtmlを汚染する必要はありません。 Ryan Weaverはhttps://knpuniversity.com/screencast/gulpを設定する方法についての素晴らしいガイドを持っています。新しいプロジェクトのために、私はgulpベースのワークフローをお勧めします。 –

関連する問題