Node.js 快车路线
为什么找不到express命令。这是快车的路线Node.js 快车路线,node.js,express,Node.js,Express,为什么找不到express命令。这是快车的路线 /usr/lib/node_modules/express 当我安装express时,终端会显示路径。我曾经 npm install -g express-generator npm install -g express 但当我运行express时,它不起作用。在这个目录中,express是全局正确的吗?但是为什么找不到呢。我不理解逻辑。您需要在本地安装express,而不是在全局安装 一般来说,经验法则是: 如果要使用require('
/usr/lib/node_modules/express
当我安装express时,终端会显示路径。我曾经
npm install -g express-generator
npm install -g express
但当我运行express时,它不起作用。在这个目录中,express是全局正确的吗?但是为什么找不到呢。我不理解逻辑。您需要在本地安装express,而不是在全局安装 一般来说,经验法则是:
-g
标志安装express generator
,因为您将其用作命令行工具,但您希望安装express
而不使用此标志,因为它是您希望在应用程序中需要()的模块
请参阅安装指南:
它说将expressgenerator
模块作为全局模块安装,因为您将使用它作为命令行实用程序来构建新的应用程序
使用express myapp
命令构建应用程序后,只需在myapp
目录中运行npm install
,该目录将其余依赖项下载到项目本地/node\u modules
目录。它通过读取生成的package.json
文件的内容来实现这一点
要吸取的教训:除非模块说明指南明确要求,否则不要使用-g
标志进行安装。谢谢。我不理解“/usr/lib/node_modules”和“/usr/local/lib/node_modules”之间的区别,为什么我使用命令“npm install-g express”将其安装在第一个路径中,但我在自己的目录中,比如“/home/czhu/”。你能给我解释一下吗?你应该在项目的“根”中安装所有模块,除非该模块构建为全局模块。如果从npm install express
中删除-g
标志,它将安装在当前目录中,而不是/user/lib/node\u modules
。