得到错误,错误:在npm安装后找不到模块'express'

时间:2014-04-11 07:58:54

标签: windows-7 express installation

我是Node JS和express的新手,我刚刚在Windows 7中安装了npm。

我使用全局标志安装了express:

npm install -g express

这已成功安装C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\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文件夹(至少在过去的版本中)应该包含一个快速文件夹(我有)和一个.bin文件夹,其中包含express.cmd。我似乎没有.bin文件夹。

npm --version给了我 1.4.3 。 Express版本看起来是 3.0.0

我还尝试在本地安装它,我尝试运行npm cache clean并重新安装。这两种方法都没有改变这种情况:node_modules文件夹中没有任何可执行文件。

我安装快递不正确吗?如果是这样,为什么它不包含可执行文件?

7 个答案:

答案 0 :(得分:84)

我在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:\用户\你\应用程序数据\漫游\ NPM)

编辑:

express-generator@3现已更新为express-generator@4, 所以请改用它,

npm install -g express-generator@4

答案是不完整的,因为模块安装在C:\Users\you\AppData\Roaming\npm目录中,如上所述,你不能总是访问任何模块,1)将它链接到你当前的项目或2)明确定义{ {1}}系统变量将您的节点指向系统中的正确位置。

第一种方法,

安装模块(在我们的例子中为NODE_PATH)后,您可以使用cmd转到当前项目目录并执行以下命令将其链接到当前项目,

express

如果成功链接,您将收到类似这样的消息,

  

D:\ Project \ node_modules \ express - >   C:\ Users \用户Sufiyan \应用程序数据\漫游\ NPM \ node_modules \表达

(如果没有使用管理员权限运行cmd,则无法链接目录)

第二个选项是创建或更新NODE_PATH系统变量,将节点指向系统中的正确位置。请阅读this了解详情。

另请阅读有关此问题的官方Node.js文档,

http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

答案 1 :(得分:8)

这就是你需要做的所有事情:

C:\node> npm install -g express-generator

您可以在this detailed start up tutorial找到此内容以及更多内容。

答案 2 :(得分:5)

要解决此问题,您需要使用:

npm install -g express-generator @ 3

它已从上一个命令更新:

npm install -g express

答案 3 :(得分:2)

请注意,由express --version命令返回的版本将是express-generator的版本,而不是express。

答案 4 :(得分:0)

我有这个问题,虽然我们使用-g它被忽略了。

我刚刚将MyProject/source/vendor的内容复制到C:\Users\username\AppData\Roaming\npm

仅复制node_modules中所需的文件夹(例如:express,express-generator,bower,yo,gulp和应该在PATH中的包)。


这个问题真的困扰每个人(或Windows用户?),npm程序员应该解决它!

答案 5 :(得分:0)

以管理员身份运行cmd。它解决了“表达”问题。在我的案例中找不到问题

答案 6 :(得分:0)

npm link express将来自任何目录的快递链接到您的项目目录,节点是默认情况下,当您运行npm install express时,它将安装在C:\Users\****\AppData\Roaming\npm\node_modules\express中,因此您不必安装Express和其他框架,每次都需要在项目目录中安装,而不是指向您的节点,即您的应用程序所在的位置。