我已经通过其网页上的安装程序安装了Node.js,并将其添加到我的环境变量的路径中,因此我可以通过命令行使用node
和npm
。如果我制作快速应用程序,它可以工作,但我必须手动创建它。
我猜这很好,但我想知道为什么我不能使用express
命令?我正在
`express` is not recognized as an internal or external command, operable program or batch file.
我注意到C:\ Username \ node_modules中的快速安装,而不是我认为它会在C:\ Program Files \ Nodejs \ node_modules中安装。这是一个问题吗?
答案 0 :(得分:31)
在更高版本的快速命令行中,迁移到了一个单独的模块:express-generator
使用
npm install -g express-generator @ 3
并且可以使用快速命令
答案 1 :(得分:5)
虽然这不一定是个问题,但它很烦人,即使你可以在它周围导航,错误也是错误的。
虽然您可以引用其他节点模块,即使它们不在节点目录中,但据我所知,节点要求模块位于node_modules
目录中的Nodejs
文件夹中,以便自动找到它们。 (我在osx上有类似的问题,这个方法解决了它。)
尝试移动
的内容 C:\Username\node_modules
加入C:\Program Files\Nodejs\node_modules\
<强>替代地强>,
您还可以使用以下方式全局安装模块:
npm install express -g
允许您访问它们而不必担心您的节点目录,尽管这些更难以管理,“如果可以,您应该尽量避免”。
来自节点博客:
就像全局变量如何粗略,但也是必要的 在某些情况下,全局包很重要,但如果没有,最好避免 需要的。
一般来说,经验法则是:
如果您要安装要在程序中使用的内容, 使用require('whatever'),然后在本地安装它 你的项目。如果您正在安装要使用的内容 您的shell,在命令行或其他东西上,全局安装它,所以 它的二进制文件最终会出现在你的PATH环境变量中。
<强>资源强>
答案 2 :(得分:2)
您应该全球安装快递。
npm install express -g
答案 3 :(得分:1)
安装node.js会将C:\ Users \\ AppData \ Roaming \ npm \目录添加到PATH变量中。如果全局安装无法正常工作,则必须意外删除它。运行node.js的修复安装应解决此问题
答案 4 :(得分:0)
只想添加以下内容:而不是先使用以下方式全局安装:
npm install express -g
然后移动它,就像接受的答案所说的那样(这很愚蠢),只需将其安装在节点js中即可:
npm install express
-g适用于全局,您希望它在本地,因此NodeJS可以访问它。