cssを書く際にcompassにガッツリお世話になっているわけですが、相変わらずファイルのパスに日本語が含まれるとエラーを吐くことがあります。
(僕はkoalaからcompassを呼び出しています)
以前に、そのエラーを回避するために、旧バージョンのcompassを使う方法を書いたのですが、partialファイルを読み込もうとすると再び同様のエラーに悩まされることになりました。
フォルダを日本語が含まれないパスに移動すれば解決できるのですが、なかなかそうもいきませんので、ジャンクションを張ることで対処してみましたよ。
ジャンクションは、ショートカットに似たものですが、異なるのはあたかもそのファイルがそのジャンクションに実在するかのように振舞ってくれる点です。
つまり、「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でも問題なく使えるかも知れませんね。
(まあ最新といっても、すでに何年も更新されてないみたいですが…)
ホームページの制作(デザイン・コーディング・プログラミング)に加え、ネットショップの販売促進に関するアドバイスも致します。 20年以上に渡って実際にネットショップを運営した経験を生かし、聞きかじりではない実績を伴ったノウハウを、自分の言葉でお伝えいたします。 プログラミングの経験は30年以上。HTML、CSS、JavaScript、TypeScript、Vue、NuxtJS、Node.js、MySQL、MongoDB、Elasticsearch、WordPress、PHP、Docker、Electronなど、幅広く対応します。
コメント