Python Heroku部署,Yuglify没有使用Django管道的此类文件
尝试在deloyment上运行collectstatic,但遇到以下错误: pipeline.exceptions.CompressorError:/usr/bin/env:yuglify:没有这样的 文件或目录 手动运行collectstatic时,一切正常: 后处理“样式表/omnibase-v1.css”作为 'stylesheets/omnibase-v1.css'后处理'js/omnijs-v1.js'为 “js/omnijs-v1.js” 我已经在全球安装了Yuglify。如果我运行“heroku run yuglify”,界面会弹出并按预期运行。我只是遇到了一个部署问题。我正在使用multibuildpack,以及NodeJS和Python。有什么帮助吗 我的包裹,以防万一:Python Heroku部署,Yuglify没有使用Django管道的此类文件,python,django,node.js,heroku,yuglify,Python,Django,Node.js,Heroku,Yuglify,尝试在deloyment上运行collectstatic,但遇到以下错误: pipeline.exceptions.CompressorError:/usr/bin/env:yuglify:没有这样的 文件或目录 手动运行collectstatic时,一切正常: 后处理“样式表/omnibase-v1.css”作为 'stylesheets/omnibase-v1.css'后处理'js/omnijs-v1.js'为 “js/omnijs-v1.js” 我已经在全球安装了Yuglify。如果我运行
{
"author": "One Who Sighs",
"name": "sadasd",
"description": "sadasd Dependencies",
"version": "0.0.0",
"homepage": "http://sxaxsaca.herokuapp.com/",
"repository": {
"url": "https://github.com/heroku/heroku-buildpack-nodejs"
},
"dependencies": {
"yuglify": "~0.1.4"
},
"engines": {
"node": "0.10.x"
}
}
应该提到的是,Yuglify不在my requirements.txt中,而在my package.json中。我遇到了同样的问题,最终使用了这样一个自定义构建包,并编写了一个bash脚本来安装node和Yuglify: 在设置buildpack之后,我创建了一些bash脚本来安装node和yuglify。buildpack有钩子来调用这些编译后脚本。下面是一个很好的示例,我遵循了这个示例: 这些脚本放在根文件夹的bin下 在post_编译脚本中,我添加了一个脚本来安装yuglify 后期编译脚本
if [ -f bin/install_nodejs ]; then
echo "-----> Running install_nodejs"
chmod +x bin/install_nodejs
bin/install_nodejs
if [ -f bin/install_yuglify ]; then
echo "-----> Running install_yuglify"
chmod +x bin/install_yuglify
bin/install_yuglify
fi
fi
#!/usr/bin/env bash
set -eo pipefail
npm install -g yuglify
安装yuglify脚本
if [ -f bin/install_nodejs ]; then
echo "-----> Running install_nodejs"
chmod +x bin/install_nodejs
bin/install_nodejs
if [ -f bin/install_yuglify ]; then
echo "-----> Running install_yuglify"
chmod +x bin/install_yuglify
bin/install_yuglify
fi
fi
#!/usr/bin/env bash
set -eo pipefail
npm install -g yuglify
如果这不起作用,你可以看看这篇文章:
您最好使用多构建包并在
package.json
中添加nodejs依赖项。