[英]How do I get my NPM module to install its dependencies correctly?
我的家用NPM模块在安装时遇到问题,因为它在安装时会将大多数依赖项安装在应用程序的node_modules目录中,而不是将其包含在模块本身中。
防爆;
APP
node_modules
MY_MODULE
node_modules
<ALL deps from MY_MODULE should be installed here>
<SOME/MOST deps from MY_MODULE are installed here>
上面的原因引起了问题,因为我的依赖项需要安装在MY_MODULE / node_modules下而不是MY_APP / node_modules下的特定版本。
例如; 我已经将Webpack 3安装在APP / node_modules下,但是MY_MODULE需要Webpack 4,并且正如您所期望的那样,它已安装在MY_MODULE / node_modules下。 但是需要Webpack 4的其他所有内容都安装在APP / node_modules下,因此会显示错误消息。
因此,在应用程序中,我有一个package.json:devDependencies:“ webpack”:“ ^ 3.12.0”,
在我的NPM模块中,我有一个package.json:“ dependecies”:[“ webpack”:“ ^ 4.12.0”,“ webpack-cli”:“ ^ 3.0.8”,]
webpack-cli已安装在APP / node_modules下,因此抱怨它需要Webpack 4,但找不到。
如果webpack-cli改为将自身安装在APP / node_modules / MY_MODULE / node_modules下,则它将起作用。
我怎样才能做到这一点?
谢谢,
/ J
<ALL deps from MY_MODULE should be installed here>
他们不应该。 NPM v2确实如此。 此行为已在NPM v3中更改,现在是v6。
如果依赖项具有可以通过单个webpack
满足的具有不同版本约束的依赖webpack
(这是在NPM v3 node_modules
平的原因之一),将有:
node_modules/webpack
否则,依赖于它们的软件包将使用多个依赖项:
node_modules/webpack@3.12.0
node_modules/webpack@4.12.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.