如何在heroku中指定节点版本

问题描述 投票:0回答:1

我有一个Node项目,我想在Heroku上托管。我在package.json(位于根目录中)中明确定义了node和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

我的案子有什么解决方案吗?还是非常感谢

node.js heroku deployment
1个回答
0
投票

这在Heroku Dev Center中有适当的记录。

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

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.

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

© www.soinside.com 2019 - 2024. All rights reserved.