gpt4 book ai didi

node.js - 如何找出 Node.js 项目中缺少哪些依赖项

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:14 25 4
gpt4 key购买 nike

我正在尝试将 Node.js 项目部署到 OpenShift,但在尝试查看该站点时收到 503。

我从研究中了解到,这表明我的网络服务器项目存在问题。通过检查日志,我确定这似乎是缺少依赖项的问题。但是,日志似乎没有告诉我是哪一个:

module.js:340
throw err;
^
Error: Cannot find module '/var/lib/openshift/551c63f85973ca05430002b8/app-root/runtime/repo/server.js'

我已经验证我的网络服务器“需要”的每个包都存在于 package.json 文件中并且存在于 node_modules 文件夹中。

{
"name": "NekoList",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"bcrypt-nodejs": "0.0.3",
"body-parser": "~1.12.4",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"ejs": "~2.3.1",
"express": "~4.12.4",
"mongoose": "^4.0.3",
"morgan": "~1.5.3",
"node-gyp": "^2.0.1",
"secure-random": "^1.1.1",
"serve-favicon": "~2.2.1"
}
}

运行 npm install 时或npm update我没有收到任何错误。我确实收到有关 debug ~2.2.0 的未满足依赖关系的警告,但我在另一个项目中也有同样的警告,并且它不会导致严重失败。我没有使用该模块的代码。它之所以存在,是因为它是模板的一部分。

minimist@0.0.8 node_modules/node-gyp/node_modules/mkdirp/node_modules/minimist
npm WARN unmet dependency /var/lib/openshift/551c63f85973ca05430002b8/app-root/runtime/repo/node_modules/express/node_modules/finalhandler requires debug@'~2.2.0' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined

此外,该项目在我的本地开发环境中使用 Webstorm 内置服务器运行良好。

我想知道我可以采取什么措施来解决,或者至少阐明问题的根源。

提前致谢。

[编辑]因此,根据 Saba Hassan 的说法, Node 似乎正在尝试运行不存在的文件 server.js ,而不是我定义的入口点 bin/www

所以,我添加了一个名为 server.js 的文件与基本示例服务器。 Openshift 仍然找不到该文件。同样的错误消息。[/编辑]

[解决办法]我的结论是,这个问题的基本假设是不正确的。我赞同一个答案,该答案解释了为什么 OpenShift 在错误的位置寻找插入点。但是,我启动此线程是为了找出为什么我收到缺少依赖项错误。即使在实现了下面的解决方案之后,我仍然收到相同的错误消息,即缺少依赖项。

解释是这样的:

由于某种原因,插入点文件或其所需的任何文件出现任何问题都会返回一条错误,指出插入点文件模块丢失。

我在一个文件中有一些变量没有正确配置为 OpenShift,并且 OpenShift 日志中包含的最有用的错误消息是根模块丢失。

结论“缺少依赖项”错误可能只是意味着您在整个项目的某个地方存在某种逻辑错误。[/解决方案]

最佳答案

我认为您正在从错误的目录运行 node server.js 命令。导航到 server.js 文件所在的目录,然后运行命令。

关于node.js - 如何找出 Node.js 项目中缺少哪些依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30634787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com