为什么在构建软件包时lerna不考虑peerDependencies

问题描述

尽管我在react admin中遇到了这个问题,但我认为它与react-admin本身无关:

我的项目中有一些程序包,如下所示:

enter image description here

现在想象ra-data-simple-rest/package.json如下:

{
    "name": "ra-data-simple-rest","version": "3.5.5","description": "Simple REST data provider for react-admin","main": "lib/index.js","module": "esm/index.js","sideEffects": false,"files": [
        "*.md","lib","esm","src"
    ],"authors": [
        "François Zaninotto"
    ],"repository": "marmelab/react-admin","homepage": "https://github.com/marmelab/react-admin#readme","bugs": "https://github.com/marmelab/react-admin/issues","license": "MIT","scripts": {
        "build": "yarn run build-cjs && yarn run build-esm","build-cjs": "rimraf ./lib && tsc","build-esm": "rimraf ./esm && tsc --outDir esm --module es2015","watch": "tsc --outDir esm --module es2015 --watch"
    },"dependencies": {
        "query-string": "^5.1.1"
    },"devDependencies": {
        "cross-env": "^5.2.0","rimraf": "^2.6.3"
    },"peerDependencies": {
        "ra-core": "^3.0.0"
    }
}

因此它具有ra-core作为其对等依赖项。

现在想象一下我的lerna.json文件如下:

{
  "lerna": "2.5.1","packages": [
    "examples/data-generator","packages/*"
  ],"version": "3.7.0"
}

当我运行lerna run build命令时,它首先构建ra-data-simple-rest,并且由于尚未构建ra-core,它抱怨ra-core不能导出某些模块。在我的想象中,lerna应该首先构建ra-core,然后构建ra-data-simple-rest,因为ra-data-simpe-rest具有ra-core作为对等依赖性,但是为什么不这样做呢?当我将ra-core放在依赖部分时,问题就解决了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...