我正在使用Django-Pipeline来缩小我的javascript。当我将我的项目推送到Heroku,并且CollectStatic运行时,它会给我错误
pipeline.exceptions.CompressorError: /usr/bin/env: yuglify: No such file or directory但是当我手动运行CollectStatic时,Yuglify运行没有任何问题。我找不到问题所在。在这种情况下,我应该向你们展示什么代码呢?
发布于 2014-12-30 11:37:22
我的解决方案是在这里的代码库中添加一个"yuglify“部分:https://github.com/nigma/heroku-django-cookbook
下面是我的代码:
bin/install_yuglify
#!/usr/bin/env bash
set -eo pipefail
npm install -g yuglify然后将以下代码添加到bin/post_compile (在第23行附近...)
if [ -f bin/install_yuglify ]; then
echo "-----> Running install_yuglify"
chmod +x bin/install_yuglify
bin/install_yuglify
fi你应该准备好了:)
您可以在此处查看我的代码,以供参考:https://github.com/GK-12/rpi_csdt_community/tree/master/bin
祝好运!
发布于 2017-06-21 21:32:19
我设法用一个不那么痛苦的解决方案解决了这个问题。Heroku为您提供了构建包,这实际上是您的应用程序将要在其上构建的环境。默认情况下,您拥有python buildpack。这就是为什么系统能够运行像python manage.py这样的命令的原因。我的解决方案如下: 1)安装nodejs buildpack作为第一个buildpack
heroku buildpacks:add --index 1 heroku/nodejs2)添加与requirements.txt相同路径下的package.json 3)在package.json中添加yuglify的依赖
另一种解决方案是更改压缩,并使用python编写的压缩。
PIPELINE['CSS_COMPRESSOR'] = 'pipeline.compressors.cssmin.CSSMinCompressor'
PIPELINE['JS_COMPRESSOR'] = 'pipeline.compressors.jsmin.JSMinCompressor'pip安装cssmin jsmin
我不清楚jsmin和yuglify哪个更好。
https://stackoverflow.com/questions/25141236
复制相似问题