我正在使用Django-Pipeline来缩小我的javascript。当我将项目推送到Heroku和CollectStatic运行时,它会给我错误
pipeline.exceptions.CompressorError: /usr/bin/env: yuglify: No such file or directory
但是当我手动运行CollectStatic时,Yuglify运行没有问题。我无法找出问题所在。我应该在这种情况下向你们展示什么代码?
答案 0 :(得分:1)
我的解决方案是添加一个" yuglify"这里是代码库的一部分:https://github.com/nigma/heroku-django-cookbook
这是我的代码:
仓/ 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
祝你好运!答案 1 :(得分:0)
我设法通过一个不太痛苦的解决方案来解决问题。 Heroku为您提供了buildpacks,它实际上是您的应用程序将构建的环境。默认情况下你有python buildpack。这就是系统能够运行python manage.py等命令的原因。我的解决方案如下: 1)将nodejs buildpack安装为第一个buildpack
controllerDidChangeContent
2)将package.json添加到与requirements.txt相同的路径中 3)在package.json中添加yuglify的依赖关系
另一个解决方案是更改你的压缩并使用python编写的压缩。
fetchedResultsController?.managedObjectContext.refreshAllObjects()
pip install cssmin jsmin
我没有明确的意见,这是更好的jsmin或yuglify。