问题标签 [heroku-nodejs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
567 浏览

node.js - Nodejs 应用程序不使用 Procfile,而是使用 npm start

我在 Heroku 上运行一个 nodejs express 服务器。我在我的应用程序根目录中定义了一个 Procfile,其中包含:

但是,当我使用时,heroku logs -a my-app --tail我注意到我的应用程序开始使用npm start它只是node server.js而不是我放入我的 Procfile 中的内容。这是日志:

正如我从 Heroku 的文档中了解到的那样,只有在没有检测到npm start时才应该使用。Procfile我在这里想念什么?

0 投票
1 回答
76 浏览

heroku - 无法将回购推送到 Heroku

我越来越

当我尝试推送到 Heroku 时,这不是第一次推送我已经在 Heroku 中部署了这个应用程序,但是突然间 Heroku 开始抛出这个错误。

我努力了

  • 环境git config --global http.postBuffer 524288000
  • 重新启动所有dynos
  • 删除 Heroku 项目并重新创建它。
  • 尝试将相同的 repo 推送到 GitHub,它工作正常。

我正在使用 macos-catalina

这是完整的错误

任何帮助,将不胜感激。谢谢

0 投票
1 回答
189 浏览

node.js - 无法从节点打开浏览器窗口(托管在 heroku 上)

我有一个托管在 Heroku 上的 NodeJs 应用程序。作为身份验证的一部分,我想在用户访问 /login 路由时打开一个浏览器窗口。

为此,我正在使用 Node 的“开放”库,并将 URL 作为参数传递。虽然这适用于本地计算机并且 Node 会打开浏览器窗口(使用该 URL),但是当托管在 Heroku 上时它不会。

因此,我想了解 Heroku 平台在执行此类操作时是否有任何限制,以及我应该采取哪些其他步骤来解决此问题。

我尝试过开放式开放式库。

带有 opener 库的示例代码。

0 投票
0 回答
224 浏览

node.js - Heroku 在部署时无法正确使用 NPM_CONFIG 变量

我正在使用来自 GitHub 的私有包。尝试部署时,Heroku 会忽略我的.npmrc文件配置。

在本地,我的环境文件如下所示:

然后,我的.npmrc文件如下所示:

有了这个配置,我就可以在本地运行它了。在 Heroku 中,我收到以下错误:

完整的日志说同样的话。但是,如果我更改.npmrc为:

...它在 Heroku 中运行良好,但在本地中断。

任何人都可以就我在这里做错了什么提供一些指导吗?我已经研究了几个小时没有成功。虽然显而易见的解决方案是不同的本地版本,但这是一个开源项目,我希望能够提供简单的安装说明。

0 投票
0 回答
26 浏览

python - 在heroku中部署时无法在nodejs中运行python子进程

我有一个节点服务器,我正在通过子进程运行 python。当我在本地主机中运行它时,它运行良好,但是当我将它部署在 heroku 中时,python 进程不起作用。我尝试在 buildpacks 中添加 python 并添加了“requirements.txt”,但它仍然不起作用。

它返回字符串“end”,但不打印 python 的输出。所以我猜它没有处理python脚本。

我错过了一些步骤吗?谢谢你。

0 投票
0 回答
37 浏览

node.js - 部署在 Heroku 上的 NodeJS 中的 GET 请求

我正在尝试用这个骨架 git repo https://github.com/odditive/heroku-node-telegram-bot制作一个电报机器人。我还向 RESTful 公共 api 添加了 axios GET 请求;根据机器人的文本输入调用它。在本地一切似乎都正常。当我在 HEROKU 上部署项目时,与 Bot 的来回通信正常,但对外部公共 api 的 GET 请求失败并给出错误 403 [禁止]。

我缺乏这些基础知识,似乎无法解决问题。最初我什至在 localHost 上也遇到了类似的问题,但是当我添加要在 axios 中发送的标头时,它以某种方式解决了,指定了我在 chrome 中厌倦了请求时得到的 UserAgents。部分回复:

这是 Heroku 上的路由问题吗?这不是在应用程序中发出 GET 请求的正确方法吗?我还阅读了有关 cors 政策的问题,但主题不同,我无法确定我的情况是否如此。虽然我尝试了一些解决方案,但都失败了。

任何帮助,将不胜感激。

0 投票
0 回答
28 浏览

ruby-on-rails - 添加 Node buildpack 后 Rails 应用程序不会部署

我正在尝试使用Grover生成网页的 PDF。按照在 Heroku 上运行的说明,我添加了 buildpacks 和 ENV 变量。

一切都构建得很好(社论:buildpacks 是 slug 大小的 5 倍)。但是在部署阶段我遇到了这个:

耙中止!TypeError:无法加载Rails.application.database_configuration:无法将字符串强制转换为整数(erb):31:in *' (erb):31:in '/app/vendor/bundle/ruby/2.4.0/gems/railties-5.1.6.1/lib/rails/application/configuration。 rb:133:in `database_configuration'

我的 database.yml 文件是这样的:

试图通过删除 *default 合并并将其设置为以下来修复,但它不起作用:

如果我删除了 heroku/nodejs buildpack 并保留了 jontewks/puppeteer 的部署,但没有生成 PDF——我会收到 500 错误。

我被困住了,需要一些帮助才能部署它。

0 投票
0 回答
26 浏览

node.js - 拥有多个 Dynos 并没有速度 - 我做错了什么?

我有一个托管在 Heroku 上的 NodeJS 服务器。这是一个通知应用程序,所以有时我会一次收到数千个(我会说是 5,000-6,000 个请求)到我的服务器。因此它得到了很好的备份,并且由于超时 H13 错误,3,000-4,000 个请求将失败,该端点基于 heroku 它经常需要service=6ms返回,但是当流量很高时,它会不断增加到 30,000(超时限制),所以它超时了。我知道一个测功机一次处理 1 个请求,所以我添加了更多测功机(最多 8 个测功机作为测试的一部分)并使用节点集群 - 减少我的 web_memory 变量,以便我在每个测功机上获得更多 WEB_CONCURRENCY。我一直在尝试切换不同的 web_concurrency 和 dyno 计数。但是我注意到,无论我有 1 个 dyno 还是 8 个 dyno,当它超过 500 个请求(每秒)时,我的 heroku 服务器开始变慢,后来超时。我还检查了我的 Heroku 指标,并注意到测功机负载平均只有 0.1。我在 1x dyno 和 2x dyno 之间进行测试,但结果是一样的。我不确定我在这里缺少什么。请告诉我非常感谢。

0 投票
2 回答
191 浏览

node.js - Heroku config vars/env vars 不工作(使用 node.js)

以下设置不起作用:

通过仪表板或通过设置配置变量

使用 heroku config 显示变量已设置。

但是然后使用登录到容器

并注销 env vars 应该显示通过 config:set 设置的变量,但它不会:

也使用

不显示环境变量。

我尝试在 app.json 中定义变量,但无济于事:

"env": { "TESTVAR":{ "required": true },

根据文档,这应该可以工作,但不幸的是它没有。任何帮助表示赞赏。

0 投票
0 回答
28 浏览

heroku - MERN Typescript 部署到 Heroku “没有运行 Web 进程”

我在 Heroku 中使用 MERN Typescript,我有这两个错误,谁能帮忙?

at=error code=H14 desc="No web processes running" method=GET path="/"

at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico"

我有 2 个文件夹(后端和前端)和 2 个 Dockerfile(Dockerfile.backend 和 Dockerfile.frontend)。我曾经npm start跑步,这就是为什么在我的 Procfile 中我有

backend : npm start

frontend : npm start

https://devcenter.heroku.com/articles/error-codes Heroku Doc 提到了这个错误,但我用

heroku ps:scale backend=1 frontend=1

我将测功机缩放到 1 后的结果

我的猜测:我认为问题可能出在我的后端和前端文件夹,因为大多数教程只有“网络”作为进程类型