我有一个Django应用程序,我设法与Heroku部署。我的Procfile
文件只包含:
web: gunicorn omegapp3.wsgi --log-file -
因此,当我运行heroku local
时,它可以正常工作。
但是当我使用heroku push master
进行部署时,控制台会检测到节点应用,因为该应用有package.json
,然后构建失败。
我想做的是以下内容:
npm install
以安装gulp
等。你知道我怎么做吗?
答案 0 :(得分:6)
根据official documentation,您应该将多个构建包添加到您的设置中,而不是单个 multi 构建包。
例如,如果您想部署使用Nodejs软件包(即grunt,gulp等)的应用程序在您的应用程序上进行一些设置,您可以从命令行运行:
heroku buildpacks:add --index 1 heroku/nodejs
add
命令将Nodejs buildpack添加为附加 buildpack,而不是替换当前的buildpack。请注意--index 1
。这指定Nodejs buildpack是buildpacks顺序中的第一个。这很重要,因为最终的buildpack是用于实际进程类型的buildpack。您可以从命令行调用heroku buildpacks
来验证buildpack设置。我运行一个Python应用程序,所以我的heroku buildpacks
看起来像这样:
=== your_app_name_here Buildpack URLs
1. heroku/nodejs
2. https://github.com/heroku/heroku-buildpack-python
然后,正如rocketer所述,您可以将其放在要在部署中运行的package.json
文件中:
"scripts": {
"postinstall": "./node_modules/.bin/gulp build"
}
答案 1 :(得分:1)
使用node
解决
它允许使用python
和.buildpacks
(您必须在gulp build
文件中指定)。
在ordre中运行package.json
,我将以下内容添加到"scripts": {
"postinstall": "./node_modules/.bin/gulp build"
}
:
<?php
include ("./inc/connect.inc.php");
session_start();
if (isset($_SESSION['user_login'])) {
}
else
{
header("location: home.php");
}
?>