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

但是我已经清楚地安装了 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?

非常感谢,

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 回答