17

新しい virtualenv 環境があり、最新の django-pipleline を入手しました。

Closure を使用した JS 圧縮は完璧に機能しますが、Yuglify を使用した CSS 圧縮はノード エラーのために失敗します。

STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.closure.ClosureCompressor'
PIPELINE_CSS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor'

静的を収集しようとすると:

./manage.py collectstatic

それは言います:

pipeline.compressors.CompressorError: /usr/bin/env: node: No such file or directory

しかし、グローバルとしても yugliify を明確にインストールしました。

sudo npm -g install yuglify

/usr/local/bin/yuglify -> /usr/local/lib/node_modules/yuglify/bin/yuglify
yuglify@0.1.2 /usr/local/lib/node_modules/yuglify 
├── uglify-js@1.3.4
├── ycssmin@1.0.1
└── nopt@2.1.1

設定でバイニーを設定しようとしても役に立ちません。

PIPELINE_YUGLIFY_BINARY = '/usr/local/bin/yuglify'

それでも同じエラーが発生します。なぜnpmでこのような問題が発生するのですか? 追加で設定する必要があるものはありますか?

あるいは、pip で yugliify をインストールする方法はありますか?

どうもありがとう、

4

2 に答える 2

25

3時間の苦しみの後、私は解決策を見つけました.

これは、名前の誤りが原因で発生しています。パッケージ マネージャー (npm) からインストールする場合、bin は nodejs と呼ばれる可能性があるため、次のようにシンボリック リンクする必要があります。

ln -s /usr/bin/nodejs /usr/bin/node

今、それは働いています。これは古いバージョンでは発生しませんでした。新しいものです。しかし、少なくともそれは再び機能しています。これが他の誰かに役立つことを願っています。:)

于 2013-01-28T18:31:18.877 に答える
2

私の場合、uglify-jscssminの両方がどういうわけかインストールされていませんでした。

そのため、次のコマンドを使用してそれらを再インストールすると、再び機能し始めます。

sudo npm install -g cssmin uglify-js
于 2019-03-27T13:35:37.187 に答える