NPM:Link 对程序包别名的对等依赖
NPM: Link peer dependency to package alias
假设我有使用一些旧包的遗留代码库:
"mobx": "5.15.4",
"mobx-react": "6.1.8",
在开发一些新的实验性功能时,我想使用这些包的更新版本,但也必须让旧版本处于工作状态。所以,我正在为新版本的包添加别名,以便我可以将它们与旧版本一起使用:
"@new/mobx": "npm:mobx@^6.3.13"
"@new/mobx-react": "npm:mobx-react@^7.2.1"
但是 mobx-react
使用 mobx
作为对等依赖。显然,问题是 @new/mobx-react
正在观看旧的 mobx
版本,并且预期说应该有版本 6+ 的 mobx
。
是否有任何方法可以手动解决 @new/mobx-react
的对等依赖关系,以便它会监视 @new/mobx
而不仅仅是 mobx
?或者,也许有一种方法可以以一种不会覆盖旧 mobx
版本的方式为 @new/mobx-react
隐式安装 peer deps?
你可以轻松做到这一点
set NODE_ENV=development
npm install mobx@5.15.4 --save
npm install mobx-react@6.1.8 --save
npm install @new/mobx@npm:mobx@^6.3.13 --save
npm install @new/mobx-react@npm:mobx-react@^7.2.1 --save
那么您必须手动为您的@new/mobx-react 安装依赖项,如下所示:
cd ./node_modules/@new/mobx-react
npm install --ignore-scripts
这将导致版本 6.3.14 的 mobx 在您的@new/mobx-react
的 node_modules 中
node.js(从 npm 版本 3 开始)首先尝试从包的内部 node_modules 加载依赖项,然后从项目的 node_modules 中查看:documentation
假设我有使用一些旧包的遗留代码库:
"mobx": "5.15.4",
"mobx-react": "6.1.8",
在开发一些新的实验性功能时,我想使用这些包的更新版本,但也必须让旧版本处于工作状态。所以,我正在为新版本的包添加别名,以便我可以将它们与旧版本一起使用:
"@new/mobx": "npm:mobx@^6.3.13"
"@new/mobx-react": "npm:mobx-react@^7.2.1"
但是 mobx-react
使用 mobx
作为对等依赖。显然,问题是 @new/mobx-react
正在观看旧的 mobx
版本,并且预期说应该有版本 6+ 的 mobx
。
是否有任何方法可以手动解决 @new/mobx-react
的对等依赖关系,以便它会监视 @new/mobx
而不仅仅是 mobx
?或者,也许有一种方法可以以一种不会覆盖旧 mobx
版本的方式为 @new/mobx-react
隐式安装 peer deps?
你可以轻松做到这一点
set NODE_ENV=development
npm install mobx@5.15.4 --save
npm install mobx-react@6.1.8 --save
npm install @new/mobx@npm:mobx@^6.3.13 --save
npm install @new/mobx-react@npm:mobx-react@^7.2.1 --save
那么您必须手动为您的@new/mobx-react 安装依赖项,如下所示:
cd ./node_modules/@new/mobx-react
npm install --ignore-scripts
这将导致版本 6.3.14 的 mobx 在您的@new/mobx-react
的 node_modules 中node.js(从 npm 版本 3 开始)首先尝试从包的内部 node_modules 加载依赖项,然后从项目的 node_modules 中查看:documentation