我正在尝试在docker容器中一起设置node.js和Elasticsearch,
我一直在遵循此post,直到启动应用程序部分为止。
当我键入
docker-compose up
我不断遇到这个node.js错误,表示找不到模型模块
tqd-node | { Error: Cannot find module '../models'
这是错误消息的前几行
tqd-elasticsearch is up-to-date
Starting tqd-node ... done
Attaching to tqd-elasticsearch, tqd-node
tqd-elasticsearch | WARNING: no logs are available with the 'none' log driver
tqd-node |
tqd-node | > nodejselastic@1.0.0 start /usr/src/app
tqd-node | > pm2-runtime start ./src/main.js --name node_app
tqd-node |
tqd-node | 2019-12-14T23:09:56: PM2 log: Launching in no daemon mode
tqd-node | 2019-12-14T23:09:56: PM2 log: App [node_app:0] starting in -fork mode-
tqd-node | 2019-12-14T23:09:56: PM2 log: App [node_app:0] online
tqd-node | { Error: Cannot find module '../models'
tqd-node | at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
tqd-node | at Module.Hook._require.Module.require (/usr/local/lib/node_modules/pm2/node_modules/require-in-the-middle/index.js:51:29)
所以我从this GitHub repository(the-quotes-database) 下载了完整的代码
但我仍然遇到相同的错误
我确实尝试更改控制器文件here中的路径
const model = require("../models");
我认为也许它需要完整的c://路径,但这并没有改变错误消息。 当我在VSC编辑器中将鼠标悬停在模型上时,表明这是正确的路径。
所以我的问题是:这是存储库中的错误还是Windows docker配置的问题?
我成功地通过docker创建了简单的python容器, 所以我不确定此错误的根本原因是什么以及如何解决。
答案 0 :(得分:0)
更新:如果有人发现类似问题,我会在这里回答。
我安装了docker并下载了文件,然后在我的Ubuntu笔记本电脑上重复了上述步骤,就可以了!
因此下载的文件尚未准备好在Windows上运行,如果您使用的是Linux,这不是回购中的错误。