0

私のサイトは Zend Framework 上にあり、Assetic を使用して SCSS をコンパイルし、縮小しています。

私が Ubuntu で開発しているときは、素晴らしく機能します。

場合によっては、Ubuntu ではなく Windows (WAMP) で開発する必要があります。

Assetic を Windows で動作させることができませんでした。

私はそれについて多くの Q&A を見つけましたが、私に当てはまる答えはないようです。たとえば、config.yml ファイルがどこにもないと思います。

Assetic + sass を Windows で Symfony2 と連携させるには?

WindowsでSymfony2でSCSSフィルタを使用するには?

ここにエラーがあります: Assetic\Exception\FilterException: An error occurred while running: "C:\Ruby193\bin\sass.bat" "--load-path" "C:\code\branches\signup-and-login\scss" "--scss" "--cache-location" "C:\Windows\Temp" "C:\Windows\Temp\assCCF2.tmp" Error Output: The filename, directory name, or volume label syntax is incorrect.

考え?

4

1 に答える 1

0

うまくいったと思いますが、修正手順を再現できるかどうかは 100% 確信が持てません。

より良い詳細を見つけたら、新しい回答を追加してください。

Ruby を にインストールしましたC:\Ruby193\。「bin」フォルダー内の sass.bat ファイルを次のように編集する必要がありました。

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "C:/Ruby193/bin/sass" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"C:/Ruby193/bin/ruby.exe" "%~dpn0" %*

https://github.com/symfony/AsseticBundle/issues/81を読みました。

C:\wamp\bin\php\php5.3.10\PEAR\pear\Symfony\Component\Process\Process.php のファイルをhttps://raw.github.com/symfony/Process/master/Process に置き換えました。 php

これが問題かどうかはわかりませんが、Assetic は DIRECTORY_SEPARATOR という PHP 定数の代わりにスラッシュを使用していたので、次のようになります。

Assetic\Filter\Sass\SassFilter.php で、 $root = str_replace('/', DIRECTORY_SEPARATOR, $root);//fix for Windows 後 に追加しました$root = $asset->getSourceRoot();

その少し下で、行を に変更しました$pb->add('--load-path')->add(dirname($root.DIRECTORY_SEPARATOR.$path));

于 2012-06-18T18:12:41.570 に答える