使用文件路径在本地安装时,NPM与依赖项冲突

时间:2019-05-08 10:47:40

标签: node.js npm

我正在开发两个npm软件包,例如@ffx/alpha@ffx/beta。 Beta软件包取决于Alpha软件包。

alpha/package.json

{
   "name": "@ffx/alpha",
   "version": "1.0.0",
   "dependencies": {},
   "devDependencies": {
      "some-package": "1.0.0"
   }
}
beta/package.json

{
   "name": "@ffx/alpha",
   "version": "1.0.0",
   "peerDependencies": {
      "@ffx/alpha": "^1.0.0"
   },
   "devDependencies": {
      "some-package": "1.0.0"
   }
}

对于本地测试,我正在构建Alpha项目并使用以下命令在Beta项目根目录中安装构建的代码,

npm install ../alpha/dist/@ffx/alpha

此外,我开始以监视模式构建Alpha项目,以便Alpha项目中的代码更改立即反映在Beta项目中(在node_modules内部)。

我的问题是,在某些情况下,我在Alpha和Beta项目中都使用了相同的依赖关系(上述设置中的{some-package),Beta项目获得了相同程序包的错误引用并引发了错误。

示例: 说Alpha项目有以下代码,

...
let smpkg = new SomePackage();
...

在Beta项目中,它将引发错误,提示类型不匹配。

错误TS2322:类型'import(“〜/ alpha / node_modules / some-package”)。SomePackage'不能分配给类型'import(“〜/ beta / node_modules / some-package”)。SomePackage '。

是否可以使用此方法对齐两个引用?

还是在发布之前在本地使用软件包的另一种方法?

注意:我已经尝试了npm linknpm pack的混合结果。

0 个答案:

没有答案