Python 希罗库上的Django,与Yuglify和CollectStatic一起发行
我正在使用Django管道缩小我的javascript。当我将我的项目推送到Heroku并收集静态运行时,它会给我错误信息Python 希罗库上的Django,与Yuglify和CollectStatic一起发行,python,django,heroku,django-pipeline,yuglify,Python,Django,Heroku,Django Pipeline,Yuglify,我正在使用Django管道缩小我的javascript。当我将我的项目推送到Heroku并收集静态运行时,它会给我错误信息 pipeline.exceptions.CompressorError: /usr/bin/env: yuglify: No such file or directory 但当我手动运行CollectStatic时,Yuglify运行时没有问题。我无法找出问题所在。在这种情况下,我应该向你们展示什么代码?我的解决方案是在代码库中添加一个“yuglify”部分: 这是我的密
pipeline.exceptions.CompressorError: /usr/bin/env: yuglify: No such file or directory
但当我手动运行CollectStatic时,Yuglify运行时没有问题。我无法找出问题所在。在这种情况下,我应该向你们展示什么代码?我的解决方案是在代码库中添加一个“yuglify”部分: 这是我的密码: 装箱/安装
#!/usr/bin/env bash
set -eo pipefail
npm install -g yuglify
然后将以下内容添加到bin/post_compile(第23行附近…)
你应该很乐意去:)
您可以在此处查看我的代码,以供参考:
祝你好运 我设法用一种不那么痛苦的方法解决了这个问题。Heroku为您提供了构建包,这实际上是您的应用程序将要构建的环境。默认情况下,您拥有python构建包。这就是系统能够运行python manage.py等命令的原因。。。。我的解决方案如下: 1) 将nodejs buildpack安装为第一个buildpack
heroku buildpacks:add --index 1 heroku/nodejs
2) 在与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更好
PIPELINE['CSS_COMPRESSOR'] = 'pipeline.compressors.cssmin.CSSMinCompressor'
PIPELINE['JS_COMPRESSOR'] = 'pipeline.compressors.jsmin.JSMinCompressor'