簡體   English   中英

Heroku部署,使用Django管道Yuglify沒有這樣的文件

[英]Heroku Deployment, Yuglify No Such File with Django pipeline

嘗試在解除部署時運行collectstatic,但遇到以下錯誤:

pipeline.exceptions.CompressorError:/ usr / bin / env:yuglify:沒有這樣的文件或目錄

當我手動運行collectstatic時,一切都按預期工作:

后處理為'stylesheets / omnibase-v1.css'的'stylesheets / omnibase-v1.css'后處理為'js / omnijs-v1.js'的后處理'js / omnijs-v1.js'

我已經在全球范圍內安裝了Yuglify。 如果我運行“ heroku run yuglify”,則該界面會彈出並按預期運行。 我只是遇到部署問題。 我正在使用帶有NodeJS和Python的multibuildpack。 有什么幫助嗎?

我的包裹,以防萬一:

{
  "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不在我的requirements.txt中,而是在我的package.json中。

我遇到了同樣的問題,最終使用了這樣的自定義buildpack,並編寫了一個bash腳本來安裝node和yuglify: https : //github.com/heroku/heroku-buildpack-python

設置好buildpack之后,我創建了一些bash腳本來安裝node和yuglify。 buildpack具有掛鈎來調用這些后編譯腳本。 這是我遵循的一個很好的例子: https : //github.com/nigma/heroku-django-cookbook

這些腳本放置在根文件夾中的bin下。

在post_compile腳本中,我添加了一個腳本來安裝yuglify。

post_compile腳本

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

install_yuglify腳本

  #!/usr/bin/env bash
    set -eo pipefail

    npm install -g yuglify

如果不行,您可以看一下這篇文章: Yuglify壓縮器無法從通過npm安裝的軟件包中找到二進制文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM