compassでpartialファイルをインポートするときのエラーを回避する方法

cssを書く際にcompassにガッツリお世話になっているわけですが、相変わらずファイルのパスに日本語が含まれるとエラーを吐くことがあります。
(僕はkoalaからcompassを呼び出しています)

以前に、そのエラーを回避するために、旧バージョンのcompassを使う方法を書いたのですが、partialファイルを読み込もうとすると再び同様のエラーに悩まされることになりました。

css のコーディングはどのようにされていますでしょうか? コードの見やすさやメンテナンスのしやすさ、さらに何といっても cssスプラ...

フォルダを日本語が含まれないパスに移動すれば解決できるのですが、なかなかそうもいきませんので、ジャンクションを張ることで対処してみましたよ。

ジャンクションは、ショートカットに似たものですが、異なるのはあたかもそのファイルがそのジャンクションに実在するかのように振舞ってくれる点です。

つまり、「C:\日本語フォルダ\http_docs」に「C:\work\http_docs」というジャンクションを貼れば、本当に「C\work\http_docs」にファイルが実在する場合と同様にアクセスできるのです。

ジャンクションはコマンドプロンプトで以下のように設定することができます。
例えば、workというフォルダ内にジャンクションを作るのであれば、まず「work」というフォルダをルートに作っておきます。コマンドプロンプトを開き、ルートに異動してから、以下のように入力すればOKです。

mklink /j <ジャンクションのパス><実ファイルのあるディレクトリ>

今回の例の場合は、以下のようになります。

mklink /j http_docs C:\work\http_docs

compassやkoalaで、ジャンクションの中のファイルを指定すれば、エラーを回避することができます。

まだ試してないのですが、ジャンクションを貼る手間は増えますが、この方法であれば最新のcompassでも問題なく使えるかも知れませんね。

(まあ最新といっても、すでに何年も更新されてないみたいですが…)

シェアする

  • このエントリーをはてなブックマークに追加