在我的第一个NodeJS Express应用程序中,我安装了express-couchUser。从我的应用程序的根目录我刚刚使用npm install --save express-user-couchdb
,它就像我预期的那样下载和安装。让我犹豫的是,我现在有一个像这样的目录结构:
~/project$ find . -type directory -name "express"
./node_modules/express
./node_modules/express-user-couchdb/node_modules/express
~/project$ find . -type directory -name "express" -exec sh -c "cd {}; grep version package.json " \;
"version": "4.9.7",
"version": "3.2.6",
所以这似乎是express-user-couchdb需要表达式,并且它使用它来为某些API路由提供服务,例如pi/user/signup。我得到了这个,但是像这样有两个不同版本的表达似乎是错误的。我出错了还是这是正常的?
答案 0 :(得分:0)
你没有做错任何事。节点模块可以定义自己的依赖项和自己的依赖项版本。如果你看一下express-user-couchdb模块的依赖关系,你可以看到它正在寻找3.2.6(https://github.com/twilson63/express-couchUser/blob/master/package.json#L23)所以该模块中的任何代码都将使用它的指定版本的快速代码。
您的应用程序使用的是Express的更高版本,因此当您使用快速代码进行交互时,您将使用应用程序所需的版本。
快速查看express-user-couchdb文档,您似乎可以使用简单的快速“使用”将其加载到您的快速应用程序中,这在您的快递版本中受支持,因此您不应该遇到问题。