Articles of heroku

为什么网页如果有404就永远加载?

我有一个用Heroku托pipe的Express.js / Node.js网站。 如果找不到文件,服务器应该发送一个404错误(像大多数网站一样)。 但是我的代码中的error handling程序无法正常工作。 当客户端请求一个不存在的文件,页面将加载…并加载…并加载…永远。 当检测到文件无法find时,如何使服务器停止加载? 这是我的JavaScript的第一部分: var express = require('express'); // Express.js var app = express(); var http = require('http'); var server = http.createServer(app); var bodyParser = require('body-parser'); var postgres = require('pg'); // Postgres database app.use(express.static('static', { extensions: ['html'] })); app.all('*', function (request, response, next) { var redirectURL = request.query.redirect; if (redirectURL […]

在Codeship和Heroku中的angular度代码

我想发布一个basik Angular代码Codeship然后heroku。 但我有一个问题,我无法解决。 我得到这个错误 。 我search了一下,发现那个节点版本太旧了,但是我的电脑里的节点版本是最新的6.11.0,npm 3.10.10。 { "name": "anonymous", "version": "0.0.0", "license": "MIT", "scripts": { "ng": "ng", "start": "http-server dist -p $PORT", "build": "ng build", "test": "ng test –single-run", "lint": "ng lint", "e2e": "ng e2e", "postinstall": "ng build –aot -prod" }, "private": true, "dependencies": { "@angular/animations": "^4.0.0", "@angular/cli": "1.1.1", "@angular/common": "^4.0.0", "@angular/compiler": "^4.0.0", "@angular/compiler-cli": […]

重复的键值违反了唯一的约束 – 使用KnexJS和Postgresql

我目前正在使用KnexJS框架构build一个应用程序,该框架可以帮助我在开发中编写sqlite3,在生产中编写postgresql(用于Heroku)。 我的主要问题是,我的应用程序在我的机器上正常工作,但只要我上传到heroku它打破。 在Heroku日志中,我收到消息: { error: insert into "contracts" ("contract_desc", "contract_header", "owner_id", "signee_id") values ($1, $2, $3, $4) – duplicate key value violates unique constraint "contracts_pkey" 这使我无法将数据插入到我的数据库中。 我的Knex迁移表的设置是这样的: exports.up = function(knex, Promise) { return knex.schema.createTable('contracts', function (table) { table.increments('id').primary() table.integer('owner_id') table.integer('signee_id') table.string('contract_header') table.text('contract_desc') table.string('signature_url') table.string('date_signed') table.boolean('isSigned') }) }; exports.down = function(knex, Promise) { return knex.schema.dropTable('contracts') }; […]

Heroku:更新节点版本不起作用

我想更新我的应用程序节点版本Heroku目前它是0.10.40 Heroku应用程序 要更改为我所需的版本,我将package.json文件调整为: { "name": "myapp", "private": true, "engines": { "node": "4.8.4" }, "scripts": { "start": "meteor run" }, "dependencies": { "meteor-node-stubs": "~0.2.0" } } 然后将我的代码部署到heroku应用程序。 但是在通过heroku CLI检查版本时仍然如此 heroku run node -v -a myapp 该版本不更新,它仍然使用较旧的版本。 任何帮助!

如何部署在heroku上使用python脚本的nodejs应用程序

我有一个基本的nodejs应用程序可以在heroku上正常工作,但是我想添加一个nodejs将调用的使用numpy包的python脚本。 我已经得到它在我的本地主机工作,但我努力让它在heroku上工作,因为它不承认numpy包,我似乎无法安装与PIP,因为它不能被识别。

Heroku ENOENT:没有这样的文件或目录由于错误的express.js路由

我看到其他人遇到同样的问题,但我开始相信,我有一个更深的问题,我的快速文件设置,因为其他解决scheme没有解决它。 我的想法是有一个主页,然后为我的每个项目添加文件夹。 这是我的文件夹结构: 而index.js中的代码就是这样的: const express = require('express'); const app = express(); app.listen(process.env.PORT || 5000, function () { console.log('Example app listening on port 5000!') }) app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }); app.use(express.static('asteroid')); app.get('/asteroid', function(req, res){ res.sendFile(__dirname + '/asteroid/'); }); 现在像其他许多问题一样,我在日志中看到的问题是"Error: ENOENT: no such file or directory, stat '/app/asteroid/index.html'" 。 该应用程序试图去/app ,它不能find我的文件。 我似乎缺less一些简单的东西。 任何想法是什么可能造成这种情况在我的情况? 我尝试{ […]

Node.js和Rails应用程序托pipe一个共享的MongoDB数据库和定价

最近我一直在用node.js以及rails和mongoDB进行大量的实验。 我想知道是否有任何托pipe选项,我可以部署我的应用程序写在rails和node.js将共享相同的MongoDB数据库? 我的Rails应用程序将执行大部分写入到mongoDB实例,而node.js应用程序将只从中读取(读取)数据。 我听说过heroku,但似乎更关注中大规模的部署,而目前我只是在寻找一个简单的小型部署,因为这只是个人使用,而且我也不会期望太多的访问者。 我也听说Heroku在一定的条件下是免费的。这是真的吗? 另外,谷歌应用程序引擎是我的select吗? 希望听到有经验的人托pipe他们的个人rails / node.js应用程序与heroku或任何其他托pipe选项,包括共享托pipe以及。 谢谢。

我应该使用从服务prodiver或heroku插件elasticsearch或从我自己的elasticsearch设置?

我在nodejitsu服务器上运行了一个nodejs应用程序。 最近我想为我的应用程序构buildsearchfunction。 elasticsearch技术似乎适合我。 我明白elasticsearch是java的基础。 运行它,我需要Java服务器。 我买不起。 我想我有这样的select: 1-rent heroku java托pipe服务然后安装elasticseach。 2,订阅heroku托pipe计划,并安装其中的elasticsearch插件(如盆景) 3 – 直接进入elasticsearch服务提供商(如searchbox.io)并订阅计划 那么,哪个人认为最适合我的情况呢?

Heroku推送拒绝无法编译node.js应用程序

我推送到heroku下面的错误信息: Counting objects: 21, done. Delta compression using up to 4 threads. Compressing objects: 100% (19/19), done. Writing objects: 100% (21/21), 3.44 KiB, done. Total 21 (delta 5), reused 0 (delta 0) —–> Node.js app detected —–> Resolving engine versions WARNING: No version of Node.js specified in package.json, see: https://devcenter.heroku.com/articles/nodejs-versions Using Node.js version: 0.10.5 Using […]

数据库url在MySQL工作台,但不是node.js(getaddrinfo ENOTFOUND)

我在Heroku中build立了一个MySQL数据库,并通过MySQL Workbench成功连接到它。 我已经使用felixge的node-mysql插件尝试从我的应用程序(用coffeescript编写)连接到它,build立连接如下: db = mysql.createConnection({ host: 'server-name.cleardb.com/heroku_randomletters?reconnect=true' user: 'mysn' password: 'mypwd' }) 不幸的是我得到一个Error: getaddrinfo ENOTFOUND控制台中的Error: getaddrinfo ENOTFOUND和应用程序崩溃。 我知道这个代码块的错误,因为删除它的工作正常。 初步的谷歌search暗示,这个错误是因为数据库URL是错误的,但它是复制粘贴到我放到MySQL工作台,这工作正常。 我已经通过js2coffee手动运行了这段代码,并且它正在被正确地转换,所以它不是CS搞砸了对象或任何东西。