Развертывание Heroku, в Yuglify нет такого файла с конвейером Django

Пытается запустить collectstatic при развертывании, но сталкивается со следующей ошибкой:

pipe.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', интерфейс появляется и запускается, как и ожидалось. Я только сталкиваюсь с проблемой с развертыванием. Я использую multibuildpack, с NodeJS и Python. Любая помощь?

Моя посылка, на всякий случай:

{
  "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 не в моем файле require.txt, а в моем package.json.

1 ответ

Я столкнулся с той же проблемой и в итоге использовал пользовательский пакет сборки, такой как этот, и написал скрипт bash для установки узла и yuglify: https://github.com/heroku/heroku-buildpack-python

После установки пакета сборки я создал несколько скриптов bash для установки узла и 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.

Другие вопросы по тегам