linux服务器错误中require模块的相对路径:找不到模块

时间:2020-05-25 08:07:13

标签: node.js

在Ubuntu服务器上部署我的node.js应用程序时遇到问题。 node.js的版本是12.13.0

我在Windows中开发应用,并在require中使用相对路径,例如:

const { Response } = require("../lib/response");

它在本地工作,但在服务器上出现此错误:

internal/modules/cjs/loader.js:797
    throw err;
    ^
Error: Cannot find module '../lib/response'
Require stack:
- /project/api/routes/category.js
- /project/api/router.js
- /project/api/app.js
- /project/api/bin/www

我用这个问题搜索了24小时。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

一个建议是使用docker进行与生产环境相同的本地开发。 寻求更多帮助 另外,您能告诉我们服务器和本地计算机上的nodejs版本吗?

答案 1 :(得分:0)

我的文件夹结构简单

/project
___/api
______/lib
______/router
______/database
______/www

我在Windows中的require模块使用相对路径,它可以工作!但是在linux服务器上有错误。它说您必须对require模块使用绝对路径

在另一个项目中,我在操作系统中都使用了相对路径,并且路径没有任何错误 但是在这个项目中我遇到了这个错误

然后我重新安装服务器操作系统,但无法正常工作

相关问题