43

好的,我正在 Windows (7) 上运行节点。使用 npm 我刚刚将模块安装到 d:\ 目录。因此我的文件结构如下所示:

D:\
  -myproject
     -node_modules
        -.bin
        -express

但是,当我在这个“myproject”目录中时,我似乎无法运行“express”,例如:

D:\myproject\express site
'express' is not recognized as an internal or external command, operable program or batch file.

我做错什么了吗?

4

22 回答 22

163

尝试:

npm install -g express-generator@3

这为我解决了问题。

编辑:对于版本 4

npm install express-generator -g

说明:express是express js的依赖包。express-generator 是用于启用 express 命令和创建示例项目等的包。假设这是为了与 express 的 cli 工具解耦项目依赖而单独保留的。

另一个 SO 参考:https ://stackoverflow.com/a/41311733/1666582

于 2014-05-03T04:00:27.867 回答
41

我的猜测是您没有在全球范围内安装 Express。您可以使用以下命令(请参阅http://expressjs.com/guide.html )全局安装 express(因此在您的 PATH 中可用):

npm install -g express

您安装它的方式仅在您安装它的文件夹中可用,这种方法没有任何问题。在全球范围内使用它几乎没有什么优势。

如果 express 不在您的 PATH 中,您可以通过输入完整路径来运行它:

\myproject\node_modules\.bin\express.cmd
于 2012-11-26T14:15:21.810 回答
41

以下是在命令行中键入的内容以使其在 Windows 中工作:

npm install express-generator -g

[来源:http://expressjs.com/starter/generator.html]

于 2014-10-25T20:43:58.843 回答
20

随着 Express 4.0.0 的发布,您似乎需要做

 npm install -g express-generator.
于 2015-04-17T09:02:35.533 回答
18

我们需要为 express 全局目录设置路径

C:\Users[User_Name]\AppData\Roaming\npm\

添加新路径后,请重新打开 CMD 控制台

于 2016-01-04T01:02:34.850 回答
3

尝试了所有这些,但从未奏效。通过启动安装并选择修复选项来修复 Node.js 会很神奇。

干杯

于 2016-06-14T12:00:32.207 回答
3

对我有用的是:

我使用了 windows 命令提示符而不是 node.js 命令提示符。

在 Windows 10 中,只需在 Windows 搜索栏中键入“节点”

您会看到一个 node.js 桌面应用程序和一个 node js 命令提示符。

选择“节点js命令提示符”

在命令提示符下输入

npm install express-generator -g

然后导航到某处并输入:

express your-website-text-here -e

将生成一个包含快速文件的目录。现在您也不会看到 express 错误。

于 2018-01-16T02:04:26.907 回答
3

当您安装 Node.js 时,以下路径将添加到 Windows OS %Path% 变量中,我假设在其他操作系统上也会发生类似情况:

C:\Users\<your-windows-username>\AppData\Roaming\npm

就我而言,因为我为雇主使用的工作 Windows 笔记本电脑严重限制了员工可以在他们的机器上执行的操作(即许多操作需要提升的管理员权限),所以 Node.js 被阻止将上述路径添加到 Windows%Path%环境变量,令我懊恼的是,Node.js 的安装对此保持沉默。导航到上面的文件夹,您会注意到该express命令存在于那里,请参见下面的屏幕截图。

我是怎么想出来的?我在没有管理员权限限制的个人家用 Windows 机器上进行了 Node.js 的全新安装,就像我的工作机器一样,比较了之前和之后的%Path%值,并注意到添加了该路径。我的工作机器不见了。

我别无选择,只能手动将路径添加到%Path%,然后express从我运行它的任何路径中识别出来。

在此处输入图像描述

于 2019-06-09T23:24:26.527 回答
2

我能够解决这个问题:

npm install express-generator -g
于 2016-11-15T20:34:12.420 回答
2

我能够使用以下软件包安装进行修复:

npm install express-generator -g

谢谢

于 2018-05-12T06:30:06.790 回答
2

我尝试了上述所有解决方案,但我没有运气。打开“Node.js”命令提示符并以管理员身份尝试。它对我来说很好。不要尝试使用 Windows 命令提示符。

于 2018-07-27T18:45:48.590 回答
1

我有同样的问题并理解解决方案,但我不明白为什么,运行 npm install -g express,express.bat 不会自动添加到路径中。

使用 npm install -g express 运行具有相同的结果。下载包并存储在 node_modules 中,但 express.bat 没有添加到路径中。

于 2014-06-24T14:35:03.163 回答
1

以管理员身份运行 node 命令提示符,然后安装 express globaly
npm install -g express
然后转到要安装 express generator 的文件夹,打开命令提示符并运行此命令
npm install express-generator,它将解决问题

于 2015-04-11T08:07:39.180 回答
1

我已经尝试了上述所有解决方案,但它对我没有用,最后我重新安装了更新版本的node.js并再次开始表达安装过程。它对我有用。

npm install -g express
npm install -g express-generator
于 2016-04-29T06:11:14.503 回答
0

你用什么命令打开目录?

该错误意味着 CMD 在当前目录中找不到“express”可执行文件。

使用“PUSHD”命令或“CD /D”而不是“CD”

@Echo OFF
PUSHD "D:\myproject\express" || (Echo bad folder)
express.exe "site"
Pause&Exit
于 2012-11-25T17:30:13.600 回答
0

Express 在其他地方加载,而不是在 Windows 路径环境变量中。您需要找到已安装express.exe 并添加路径。也许像 ;"C:\Program Files\Express\bin";

于 2012-11-25T17:32:00.143 回答
0

从项目目录运行“npm install express”和“npm install express-generator”将解决问题(如果有帮助的话)。

但是,这并不能解决全球化的问题。

于 2015-10-06T21:14:21.313 回答
0

如果您在创建项目时获得此文件夹的权限,则可以检查该文件夹的权限

快递项目

于 2018-06-02T05:51:30.247 回答
0

像这样更改 package.json 文件中的脚本部分

"scripts": {
"start": "node app.js"

}

于 2019-07-18T04:13:37.670 回答
0

我也遇到了类似的问题,最后我尝试使用 node.js 命令提示符而不是 windows 命令提示符并且它有效。因此,从 node.js 命令提示符尝试。

于 2020-06-12T07:56:12.877 回答
0

尝试了所有这些但对我不起作用。此外,我尝试了不同的来源,但从未为我工作过。
最后,发现我需要强制运行命令。它对我有用。
确保以管理员身份运行命令。

 npm install -g --force express-generator

它将覆盖现有的快递文件。

于 2020-08-30T10:33:32.713 回答
-5

使用 npm start .. 然后 app.js 运行 .. 可以在通常的端口 3000 上监听

于 2014-05-05T05:43:42.280 回答