Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 希罗库上的Django,与Yuglify和CollectStatic一起发行_Python_Django_Heroku_Django Pipeline_Yuglify - Fatal编程技术网

Python 希罗库上的Django,与Yuglify和CollectStatic一起发行

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”部分: 这是我的密

我正在使用Django管道缩小我的javascript。当我将我的项目推送到Heroku并收集静态运行时,它会给我错误信息

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'