【问题标题】:lerna ERR! EDESTDIR --dest does not match with the package directories: packages错了! EDESTDIR --dest 与包目录不匹配:packages
【发布时间】:2020-08-27 21:01:44
【问题描述】:

当尝试将 repo 导入我的 lerna monorepo 时,它总是失败:

lerna ERR! EDESTDIR --dest does not match with the package directories: packages

我正在使用默认的 lerna.json 配置。

{
  "packages": [
    "packages/*",
  ],
  "version": "0.0.0"
}

我使用的导入命令是:

npx lerna import --flatten /Users/home/Desktop/Lerna_Tests/docs-repo --dest=docs

我也试过了:

npx lerna import --flatten /Users/home/Desktop/Lerna_Tests/docs-repo --dest=packages/docs

但是,两者都失败并出现相同的错误。

我希望 repo 转到 packages/docs 目录。

【问题讨论】:

    标签: lerna monorepo


    【解决方案1】:

    总结

    我在我的 lerna.json 包数组中添加了一个目录 glob 条目,并在我的导入命令中添加了引号来修复它。

    解释:

    我意识到,在设置 lerna.json 时,我使用的是默认的 lerna.json 配置,但需要向 packages 数组添加一个条目,如下所示:

    {
      "packages": [
        "packages/*",
        "packages/docs/*" <<<<<<<<< I added this line.
      ],
      "version": "0.0.0"
    } 
    

    注意:/* 在目录之后很重要。

    添加后,以下命令会毫无问题地导入我的存储库:

    npx lerna import --flatten /Users/home/Desktop/Lerna_Tests/docs-repo --dest="packages/docs"

    注意:我尝试在目标目录周围不加引号,但由于某种原因它不起作用。 Lerna 的文档给出了一个没有使用引号的例子,所以我认为在某些情况下它一定没问题,只是在我的情况下没有。

    This SO question and answer 帮助我修复了我的错误。然而,这是一个不同的解决方案和一个不同的问题,所以我想我会为那些问题与上述情况更接近的人发布我的问题答案。

    【讨论】:

    • 这对我有用,谢谢,还需要确保在导入之前没有未提交的更改(仍在学习)
    猜你喜欢
    • 2013-10-29
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 2023-03-15
    • 2013-01-07
    • 1970-01-01
    • 2015-10-05
    相关资源
    最近更新 更多