NodeJS npm错误!无效版本:“1”

rseugnpd  于 2022-11-04  发布在  Node.js
关注(0)|答案(6)|浏览(335)

问题:

当在我的本地机器上做“节点应用程序”时,一切都正常工作。
但当我将项目部署到Google App Engine时,该示例被终止,并且我在日志中发现以下错误:

npm ERR! Invalid version: "1"

我看了看:
npm: Why is a version "0.1" invalid?
npm ERR! Invalid version: y
how to workaround npm "Error: Invalid version: "0.1" BUG?
我需要纠正的错误是什么?
gcloud app deploy --version=deploy启动的部署进程
始终以以下内容结束:

ERROR: (gcloud.app.deploy) Error Response: [4] Timed out waiting for the app infrastructure to become healthy.

这是我的package.json

代码:

package.json

{
  "name": "Name",
  "version": "1.0.0",
  "description": "Desc",
  "main": "app.js",
  "engines": {
    "node": "6.9.4",
    "npm": "4.2.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node app.js",
    "minify": "html-minifier --input-dir ./viewsCopy --output-dir ./views-minified --collapse-whitespace --html5 --minify-js true"
  },
  "author": "author",
  "license": "copyright",
  "dependencies": {
    "bad-words": "^1.5.1",
    "body-parser": "1.1*.1",
    "connect-flash": "0.1.1",
    "decimal.js": "^9.0.1",
    "ejs": "2.5.5",
    "events": "^1.1.1",
    "express": "4.15.2",
    "express-session": "1.15.2",
    "express-validator": "3.2.0",
    "fast-crc32c": "^1.0.4",
    "firebase": "3.9.0",
    "firebase-admin": "^5.2.1",
    "fs": "0.0.1-security",
    "glob": "7.1.1",
    "helmet": "3.5.0",
    "html-minifier": "^3.5.0",
    "morgan": "1.8.1",
    "multer": "1.3.0",
    "nodemailer": "4.0.0",
    "path": "0.12.7",
    "raven": "^2.0.0",
    "request": "^2.83.0",
    "sanitize-html": "^1.14.1",
    "uglify-js": "^3.0.6"
  }
}
dphi5xsq

dphi5xsq1#

对我来说是

"version": "1"

我编辑了

"version": "1.0.0"

然后它就固定了。

s4n0splo

s4n0splo2#

在package.json中,“engine”属性允许您阻止在不支持的CLI工具版本上运行的node.js应用程序。
您可以删除或修改这些值。通过快速查看gcloud文档,他们使用的是node.js(v9.4.0)中的最新稳定版本,该版本与npm v5.6.0捆绑在一起。您可以通过在版本前添加大于字符来允许您的应用程序在现有版本和更高版本上运行。

"engines": {
    "node": ">6.9.4",
    "npm": ">4.2.0"
},
soat7uwm

soat7uwm4#

根据此处为node-semver提供的文档,加载的依赖关系软件包版本可能存在问题
仔细检查这些版本或删除所有这些,然后尝试,如果它的工作,然后继续添加一个接一个,最终当它停止工作,你知道哪个版本编号是错误的
可能的嫌疑人名单如下

"body-parser": "1.1*.1",
"fs": "0.0.1-security"
crcmnpdw

crcmnpdw5#

尝试用*替换所有依赖版本,与npm版本相同。然后运行npm install。我不确定它是否工作,但给予看。

kqlmhetl

kqlmhetl6#

我的修复方法是删除node_modules和package-lock.json并使用npm install重新安装

相关问题