Node.js ';快递';无法识别的命令(windows)

Node.js ';快递';无法识别的命令(windows),node.js,express,Node.js,Express,好的,我正在windows(7)上运行node。使用npm,我刚刚将模块安装到d:\目录。因此,我的文件结构如下所示: D:\ -myproject -node_modules -.bin -express 但是,当我位于此“myproject”目录中时,我似乎无法运行“express”,例如: D:\myproject\express site 'express' is not recognized as an internal or exter

好的,我正在windows(7)上运行node。使用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.

我做错什么了吗?

你用什么命令打开目录

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

使用“PUSHD”命令或“CD/D”代替“CD”


Express加载到其他位置,而不是windows path环境变量中。您需要查找已安装的WARE express.exe并添加路径。也许是这样;“C:\Program Files\Express\bin”

我猜您没有在全球范围内安装Express。您可以使用以下命令(请参阅)全局安装express(因此在您的路径中可用):

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

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

\myproject\node_modules\.bin\express.cmd
尝试:

这为我解决了问题

编辑:对于版本4

npm install express-generator -g
说明: express是expressjs依赖项的包。 express generator是用于启用express命令和创建示例项目等的包。 假设这是分开的,以便使用express的cli工具解耦项目依赖关系


另一个SO参考:

使用npm启动。。然后app.js运行。。我也有同样的问题并理解解决方案,但我无法理解为什么运行npm install-g express时,express.bat不会自动添加到Path中


使用npm安装-g express运行也会得到相同的结果。下载软件包并存储在node_模块中,但express.bat未添加到path。

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

npm install express-generator -g

[来源:

以管理员身份运行节点命令提示符,然后安装express globaly
npm安装-g express
然后转到要安装express generator的文件夹,在那里打开命令提示符并运行此命令

npm安装express generator后,它将通过express 4.0.0的发布来解决这个问题,看起来您需要这样做

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


但是,这并不能解决全局性的问题。

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

C:\Users[用户名]\AppData\Roaming\npm\


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

我已经尝试了上述所有解决方案,但它对我不起作用,最后我用新版本重新安装了,并再次开始快速安装过程。它对我起作用

npm install -g express
npm install -g express-generator

尝试了所有这些,但都没有成功。通过启动安装并选择修复选项来修复Node.js会起到神奇的作用


干杯

我可以用以下方法解决这个问题:

npm install express-generator -g

对我起作用的是:

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

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

您将看到node.js桌面应用程序和node js命令提示符

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

在命令提示符下键入

npm install express-generator -g
然后导航到某个位置并键入:

express your-website-text-here -e

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

我能够通过以下软件包安装修复:

npm install express-generator -g

谢谢

如果您在创建项目时收到此信息,您可以检查文件夹的权限


Express Project

我尝试了上述所有解决方案,但运气不佳。
打开“Node.js”命令提示符并尝试作为管理员。对我来说,它工作正常。不要尝试使用windows命令提示符。

安装Node.js时,以下路径将添加到windows OS%path%变量中,我想其他操作系统上也会发生类似情况:

C:\Users\\AppData\Roaming\npm

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

我是如何发现这一点的?我在个人家庭Windows计算机上重新安装了Node.js,该计算机与我的工作计算机一样没有管理员权限限制,比较了前后
%Path%
值,并注意到添加了该路径。我的工作机缺少它

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


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

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

}

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

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

 npm install -g --force express-generator

它将覆盖现有的express文件。

您能详细说明一下吗?我的意思是,当我使用npm安装express时,它似乎在命令提示符的相同文件夹状态下安装express。我的意思是,如果我在D:\myproject\中,并且键入“npm install express”,它将
npm install express-generator -g
"scripts": {
"start": "node app.js"
 npm install -g --force express-generator