Node.js 找不到Express命令

Node.js 找不到Express命令,node.js,command-line,express,Node.js,Command Line,Express,由于某种原因,在我的计算机上使用npm install-g Express在全局范围内安装了Express后,如果我将cd插入目录并尝试运行Express,则会出现以下错误: express: command not found. 即使我使用sudo运行它,我仍然会得到相同的输出。我尝试了多种不同的方法来解决这个问题,但没有任何效果。我通过homebrew安装了node,堆栈溢出上的一些线程表明这可能是一个问题,因此我完全卸载了node,并通过nodejs.org上的安装程序重新安装(我现在

由于某种原因,在我的计算机上使用
npm install-g Express在全局范围内安装了Express后,如果我将
cd
插入目录并尝试运行Express,则会出现以下错误:

express: command not found. 
即使我使用
sudo
运行它,我仍然会得到相同的输出。我尝试了多种不同的方法来解决这个问题,但没有任何效果。我通过
homebrew
安装了node,堆栈溢出上的一些线程表明这可能是一个问题,因此我完全卸载了node,并通过nodejs.org上的安装程序重新安装(我现在运行的是v0.10.26),问题仍然存在

如果我进入我的
/usr/local/lib/node_模块
Express在其中,但在/usr/local/bin中没有关于Express的任何内容。我不确定这是否是一个问题,但考虑到该目录中有其他全局安装的节点包的二进制文件,我认为可能有问题

这是我安装时得到的确切输出:

npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/accepts/1.0.0
npm http GET https://registry.npmjs.org/type-is/1.0.0
npm http GET https://registry.npmjs.org/range-parser/1.0.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.2
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.3
npm http GET https://registry.npmjs.org/utils-merge/1.0.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2
npm http GET https://registry.npmjs.org/escape-html/1.0.1
npm http GET https://registry.npmjs.org/serve-static/1.0.1
npm http GET https://registry.npmjs.org/qs/0.6.6
npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2
npm http GET https://registry.npmjs.org/parseurl/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/type-is/1.0.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/accepts/1.0.0
npm http 304 https://registry.npmjs.org/range-parser/1.0.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3
npm http 304 https://registry.npmjs.org/fresh/0.2.2
npm http 304 https://registry.npmjs.org/serve-static/1.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/utils-merge/1.0.0
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2
npm http 304 https://registry.npmjs.org/escape-html/1.0.1
npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.2
npm http 304 https://registry.npmjs.org/parseurl/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── serve-static@1.0.1 (send@0.1.4)
└── accepts@1.0.0 (negotiator@0.3.0, mime@1.2.11)

随着Express 4.0.0的发布,您似乎需要执行
sudo npm安装-g Express generator

您需要运行:

npm install -gd express-generator

最初的带有cli的express,现在cli拆分为单独的express generator包。最初由项目生成的是运行express node app.js的,因为httpserver相关代码在app.js中,现在这部分代码到了项目目录
bin/www
下面,app.js只保留实现app逻辑的代码,需要运行
bin/www
。只是一个非常简单的应用程序和优化包依赖项版本发生了变化。

我有好几天都在面临这个挑战。在深入搜索之后,我了解到必须阅读所有可用资源,尤其是来自父源的资源[在本例中为EXPRESSJS.COM]。这里有一个快速解决方案

从版本4.0+开始,如果您运行的是Node 8.2+,则不一定需要安装express generator。简单运行

npx express-generator
express generator将按照您运行时的运行方式运行:
express

有关更多详细信息,请参阅


快乐的阅读和研究时间。

我最近一直在尝试安装express generator,但是它会发出

$ zsh : command not found : express

那是在我做了之后

$ sudo npm install -g express
$ sudo npm install -g express-generator

但是后来,我看到了npm安装命令的控制台日志

/usr/local/Cellar/node/13.1.0/bin/express -> /usr/local/Cellar/node/13.1.0/lib/node_modules/express-generator/bin/express-cli.js

这提示可执行文件express位于bin文件夹中

因此,解决方案是: 打开~/.zshrc或~/.bashrc 并按如下方式导出路径:

export PATH=/usr/local/Cellar/node/13.1.0/bin:$PATH

现在可以用了。

非常感谢您的帮助!昨天晚上我已经准备好为这件事大发雷霆了。sudo是不需要的,它仍然有效。糟糕,甚至官方文件都没有提到它您是如何发现的,如果文档中没有这一点,我们应该如何了解它?FWIW官方文件确实提到了它[现在?]-