1

我已经成功使用 django-pipeline 几个月了。现在我第一次在一个干净的系统上安装了 virtual-env。一切都已相应设置,所有 pip 安装均在我的环境中完成。

python manage.py collectstatic

现在,当我收集静态文件时出现错误,它说

File "/vc/cb-env/local/lib/python2.7/site-packages/pipeline/compressors/__init__.py", line 247, in execute_command
    raise CompressorError(error)
pipeline.compressors.CompressorError: [warning] /usr/bin/yui-compressor: No java runtime was found
[warning] /usr/bin/yui-compressor: No JAVA_CMD set for run_java, falling back to JAVA_CMD = java

即使之前安装了 yui-compressor 和最新的 java:

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java7-installer -y
sudo apt-get install yui-compressor -y

从外观上看,因为我以 root 身份安装了 java,所以我的环境似乎找不到它。我能做些什么?

4

1 回答 1

4

不是直接的解决方案,但经过一些研究并与 django-pipeline 的制造商交谈后,似乎 Yui-Compressor 无论如何都已被弃用并被 Yuglify 取代。

因此,最好保持 django settings.py 原样,并简单地安装 Yuglify。

sudo apt-get install npm
(switch your virtualenv's environment)
npm install yuglify

settings.py 只需要更改一行:

PIPELINE_YUI_BINARY = '/vc/{your-project-env}/site/{your-project}/node_modules/yuglify/bin/yuglify'

就是这样,它的工作原理。

更新:

在最新版本中,django-pipeline您不能再将 YUI 二进制文件设置为 Yuglify。您已经明确声明了 yuglify 二进制文件。但除此之外没有任何改变:

PIPELINE_YUGLIFY_BINARY = "/vc/{yourproject-env}/node_modules/yuglify/bin/yuglify"
于 2012-10-30T23:12:20.650 回答