Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在heroku中指定节点版本_Node.js_Heroku_Deployment - Fatal编程技术网

Node.js 如何在heroku中指定节点版本

Node.js 如何在heroku中指定节点版本,node.js,heroku,deployment,Node.js,Heroku,Deployment,我想在Heroku上托管一个节点项目。我在my package.json(位于根目录)中明确定义了节点和npm版本,如下所示: { "name": "*********", "version": "1.0.0", "description": "**********", "engines": { "node": "8.x", "npm": "6.x" }, "private": true, ..... } 但是,当我尝试将应用程序推送到heroku时。它仍然没有读取节点

我想在Heroku上托管一个节点项目。我在my package.json(位于根目录)中明确定义了节点和npm版本,如下所示:

{
 "name": "*********",
 "version": "1.0.0",
 "description": "**********",
 "engines": {
  "node": "8.x",
  "npm": "6.x"
 },
 "private": true,
 .....
 }
但是,当我尝试将应用程序推送到heroku时。它仍然没有读取节点和npm版本

remote: -----> Creating runtime environment
remote:
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:        NODE_VERBOSE=false
remote:
remote: -----> Installing binaries
remote:        engines.node (package.json):  unspecified
remote:        engines.npm (package.json):   unspecified (use 
default)
remote:        Resolving node version 10.x...
remote:        Downloading and installing node 10.15.3...
remote:        Using default npm version: 6.4.1

我的案子有什么解决办法吗?无论如何,谢谢你

这已在中正确记录

如您所见,构建日志显示没有指定节点版本

engines.node(package.json):未指定

您的package.json是正确的,但您可能没有将应用程序设置为使用
heroku/nodejs
buildpack

使用此选项检查正在使用的buildpack

$ heroku buildpacks
=== issuetriage Buildpack URLs
1. heroku/nodejs

$ heroku buildpacks:add heroku/nodejs
Buildpack added. Next release on issuetriage will use heroku/nodejs.
Run git push heroku master to create a new release using this buildpack.

如果发布完整的构建日志,则可能会发现更多内容。

假设OP仅使用单个构建包,
heroku/nodejs
应该通过
package.json
文件自动检测到。构建日志清楚地显示了Node.js输出,所以这不是问题所在。我必须问:您是否完全确定您向我们展示的
package.json
就是您推给Heroku的那个?