gpt4 book ai didi

node.js - 我需要在每个项目目录中安装 express 吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:48:30 25 4
gpt4 key购买 nike

我有 centOS:当我尝试运行需要 express 的 node.js 应用程序时,出现以下错误:

module.js:340
throw err;
^
Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/var/www/tipsterPro/index.js:2:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)

我验证了 express 在 node_modules 目录中:

root@myServer [/usr/local/lib/node_modules]# ls
./ ../ express/ express-generator/ forever/ n/ npm/ pm2/ supervisor/

我发现有几个帖子说要在 node.js 项目的顶级目录中安装 express。有没有办法不必在我拥有的每个项目中都安装 express?应该有一种方法可以将它指向安装目录。附加信息:我在全局范围内安装了 Node 和 express 。我还使用以下命令安装了 express-generator:npm install -g express-generator

顺便说一句: Node 模块安装在这个位置(不确定是否正确):/usr/local/lib/node_modules

我最终在本地安装,在阅读了一些关于 express 本地安装与全局安装的优缺点之后,如果我在本地安装 express 可能会更好。一旦我在本地安装,它就成功运行了。

最佳答案

Node 模块查找算法如下所示(来自 Node.js in Action):

enter image description here

因此,如果您将模块安装在项目根目录的 node_modules 中,那么它将在每个子目录和文件中找到。正如您在图表的最后一点所见,您可以通过设置 NODE_MODULES 环境变量来指定搜索目录。当您全局安装 express 时,它可能位于 /usr/local/bin/express 之类的地方。您可以在使用启动应用程序时设置 NODE_MODULES 目录

NODE_MODULES=/usr/local/bin/ node app.js

关于node.js - 我需要在每个项目目录中安装 express 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24562283/

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