问题:
当在我的本地机器上做“节点应用程序”时,一切都正常工作。
但当我将项目部署到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"
}
}
6条答案
按热度按时间dphi5xsq1#
对我来说是
我编辑了
然后它就固定了。
s4n0splo2#
在package.json中,“engine”属性允许您阻止在不支持的CLI工具版本上运行的node.js应用程序。
您可以删除或修改这些值。通过快速查看gcloud文档,他们使用的是node.js(v9.4.0)中的最新稳定版本,该版本与npm v5.6.0捆绑在一起。您可以通过在版本前添加大于字符来允许您的应用程序在现有版本和更高版本上运行。
yquaqz183#
json-〉版本语义可能需要类似于1.0.0
https://docs.npmjs.com/about-semantic-versioning
soat7uwm4#
根据此处为node-semver提供的文档,加载的依赖关系软件包版本可能存在问题
仔细检查这些版本或删除所有这些,然后尝试,如果它的工作,然后继续添加一个接一个,最终当它停止工作,你知道哪个版本编号是错误的
可能的嫌疑人名单如下
crcmnpdw5#
尝试用
*
替换所有依赖版本,与npm版本相同。然后运行npm install
。我不确定它是否工作,但给予看。kqlmhetl6#
我的修复方法是删除node_modules和package-lock.json并使用
npm install
重新安装