gpt4 book ai didi

node.js - 找不到 module express,如何安装它以使其在全局范围内可用?

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

我想试验一些 node.js 的东西,昨天我按照网上某人的说明安装了它,它启动并运行了,我在屏幕上显示了标准的 Hello World 网页。

我现在转到另一个示例,但为了不弄乱我的主目录,我从它创建了一个目录 (~/node) 并在其中创建了我需要的文件。瞧,当运行该服务时,我很不高兴地指出找不到 express 模块。

说明告诉我使用 -g 标志安装 express,但这没有帮助。我什至再次运行它,但没有任何运气。

现在我发现了这个: Cannot find module `express` | socket.io [node.js]

看来我必须在当前目录下重新安装它。我已经做到了并且有效。是否必须将它安装在我希望从中运行服务的每个目录下?这似乎是不必要的重复。

编辑:

不太了解 js 我以为我会去挖掘并发现

app.use(express['static'](__dirname ));

并意识到这可能是我的问题的原因。进一步研究发现:http://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders如果我在更高级别的目录中安装一次,那应该“解决”我的问题。我不会为卸载该模块而烦恼,但对于我的下一个项目,我会尝试一下,看看效果如何。

我不知道为什么原作者在安装 express 时建议使用 -g 标志,因为它似乎对我不起作用。

最佳答案

NPM 是一个非常好的工具,允许您在本地和全局安装 node.js 模块。

本地模块安装

如果你想为你的项目使用一个模块,你必须在本地安装它。这就是为什么 npm 在您的项目目录中创建一个名为 node_modules 的子目录。如果你为两个不同的项目使用相同的模块,npm 将下载该模块并安装它两次。这很正常,它可以帮助您管理同一依赖项的不同版本。

为特定项目管理依赖项和安装模块的最佳方法是填写 package.json使用您的依赖项并使用

安装它们
npm install

在您的项目目录中。

要在您的代码中访问您的模块,请使用require() 函数。例如,使用 expressjs :

var express = require('express');
var app = express();
...

全局模块安装

npm 还允许您在全局范围内安装模块。但请记住,全局安装模块只会在您的终端中提供更多命令,就像 expressjs 和 express(1) 一样。

为了全局安装 expressjs,在你的终端运行它

npm install -g express

如果你想在特定项目中使用全局安装的模块,你还必须在本地安装它(在你的项目目录中,没有 -g)。

我希望这能清楚地回答您的问题。

关于node.js - 找不到 module express,如何安装它以使其在全局范围内可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17779304/

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