出现错误,错误:npm install 后找不到模块“express”
Posted
技术标签:
【中文标题】出现错误,错误:npm install 后找不到模块“express”【英文标题】:Getting error, Error: Cannot find module ‘express’ after npm install 【发布时间】:2014-05-25 06:25:08 【问题描述】:我是 Node JS 和 express 的新手,我刚刚在 Windows 7 中安装了 npm。
我已经使用全局标志安装了 express:
npm install -g express
这成功地在C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\express
中安装了express,并将C:\Users\USER_NAME\AppData\Roaming\npm
添加到我的路径中。
但是,在命令行中使用 express 并不成功。任何以 express 开头的命令都告诉我它找不到要执行的命令:
'express' is not recognized as an internal or external command,
operable program or batch file.
查看安装文件夹,我也找不到可执行文件(.exe 或 .cmd)。谷歌搜索过去的问题表明 node_modules 文件夹(至少在过去的版本中)应该包含一个 express 文件夹(我有)和一个 .bin
文件夹,其中包含 express.cmd
。我似乎没有.bin
文件夹。
npm --version
给了我 1.4.3。 Express 版本看起来是 3.0.0
我也尝试在本地安装它,我尝试运行npm cache clean
并重新安装。这两种方法都没有改变这种情况:node_modules 文件夹中没有任何可执行文件。
我是否安装不正确?如果是这样,为什么它不包含可执行文件?
【问题讨论】:
【参考方案1】:我在 Windows 8.1 上遇到了同样的问题。 express.cmd 没有创建,但是我找到了文本文件:
C:\Users\you\AppData\Roaming\npm\node_modules\express\Readme.md
它建议运行这个:
npm install -g express-generator@3
这会下载更多的东西。
之后,您可以在 Windows 命令提示符下使用 express。它将在您的路径中( C:\Users\you\AppData\Roaming\npm)
编辑:
express-generator@3
现在更新为express-generator@4
,
所以改用这个吧,
npm install -g express-generator@4
答案并不完整,因为模块安装在C:\Users\you\AppData\Roaming\npm
目录中,如上所述,如果没有,您将无法始终访问任何模块,1) 将其链接到当前项目或 2) 明确定义 NODE_PATH
系统变量将您的节点指向系统中的正确位置。
第一种方法,
安装模块后(在我们的例子中为express
),您可以使用 cmd 转到当前项目目录并执行以下命令,将其链接到当前项目,
npm link express
如果链接成功,你会收到这样的消息,
D:\Project\node_modules\express -> C:\Users\Sufiyan\AppData\Roaming\npm\node_modules\express
(如果不以管理员权限运行 cmd,则无法链接目录)
第二个选项是创建或更新 NODE_PATH 系统变量,将您的节点指向系统中的正确位置。阅读this了解详情。
另请阅读有关该问题的官方 Node.js 文档,
http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/
【讨论】:
正是我需要的。谢谢。 这也为我解决了问题。 Windows 8.1 上的 nodejs v0.10.26 在 Linux 上也有同样的问题,所以不仅仅是 Windows。解决方案有效,谢谢。 这也适用于我(Windows 10、Express 4.13.4、Node 6.2.2)。【参考方案2】:这就是你需要做的所有事情:
C:\node> npm install -g express-generator
您可以在this detailed start up tutorial 找到更多信息。
【讨论】:
所以你给了我一个-1来重组一个有用的答案?一个真正的新手想知道的东西?我的意思是这没关系,但这是一种让我想要做出贡献的方式! 谢谢@rashadb,正是我要找的东西 我很高兴它对 DonieM 有帮助!【参考方案3】:要解决此问题,您需要使用:
npm install -g express-generator@3
它已从上一个命令更新:
npm install -g express
【讨论】:
【参考方案4】:请注意,express --version 命令返回的版本将是 express-generator 的版本,而不是 express。
【讨论】:
如何卸载它?因为我安装它时没有 -g 如果你这样做了,那么只需删除本地节点模块文件夹或仅删除其中的文件夹【参考方案5】:我遇到了这个问题,似乎我们使用 -g 它被忽略了。
我刚刚将MyProject/source/vendor
的内容复制到C:\Users\username\AppData\Roaming\npm
只复制 node_modules 中需要的文件夹(例如:express、express-generator、bower、yo、gulp 和应该在 PATH 中的包)。
这个问题真的很困扰大家(或者windows用户?),npm程序员应该解决它!
【讨论】:
【参考方案6】:以管理员身份运行 cmd。它解决了我的情况下“快递”未找到的问题
【讨论】:
【参考方案7】:npm link express
将 express 从任何目录链接到您的项目目录是节点,默认情况下,当您运行npm install express
时,它将安装在C:\Users\****\AppData\Roaming\npm\node_modules\express
,因此您不必安装 express 和其他所需的框架每次都安装在您的项目目录中,而不是您可以指向您的节点,即您拥有应用程序的位置。
【讨论】:
以上是关于出现错误,错误:npm install 后找不到模块“express”的主要内容,如果未能解决你的问题,请参考以下文章
在 npm 更新 v5.4.2 后找不到 ./node_modules/react-router-dom 模块中的错误