我有一个全新的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
但我已经明确安装了yuglify,即使是全球化:
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
尝试在设置中设置biney也无济于事:
PIPELINE_YUGLIFY_BINARY = '/usr/local/bin/yuglify'
我仍然得到同样的错误。为什么现在这样的问题与npm?还有什么我必须另外设置的吗?
或者有没有办法用pip安装yuglify?
非常感谢,
答案 0 :(得分:23)
经过3个小时的痛苦,我找到了解决方案。
这是因为一个错误的错误发生,如果你从包管理器(npm)安装你的bin可能被称为nodejs所以你只需要像这样符号链接:
ln -s /usr/bin/nodejs /usr/bin/node
现在它正在运作。旧版本不会发生这种情况,它是新的东西。但至少它再次起作用。我希望这可以帮助其他人。 :)
答案 1 :(得分:0)
就我而言, uglify-js 和 cssmin 均未安装。
所以我已经使用以下命令重新安装了它们,然后它又开始工作了。
sudo npm install -g cssmin uglify-js