【问题标题】:Installing several workspaced npm (yarn) packages from a git repository从 git 存储库安装多个工作区 npm (yarn) 包
【发布时间】:2021-07-29 15:32:48
【问题描述】:

我有两个存储库。第一个包含一个带有两个包的 monorepo:

   - bsconfig.json
   - package.json
   - packages/
     - transaction/
       - package.json
       - transaction.js
     - reindexed/
       - package.json
       - src/
         - IDB.res
         - ReIndexed.res

packages/reindexed 实际上依赖于packages/transactionpackages/transaction/packages.json的内容是这样的(片段):

{
  "name": "@kaiko-internal/transaction",
  "version": "1.0.0",
  "main": "transaction.js"
}

文件packages/reindexed/package.json或多或少是这样的:

{
  "name": "@kaiko/reindexed",
  "version": "0.2.0",
  "license": "MIT",
  "devDependencies": {
    "esbuild": "^0.12.9",
    "qunit": "^2.16.0",
    "rescript": "^9.1.4"
  },
  "dependencies": {
    "@kaiko-internal/transaction": "1.0.0"
  }
}

请注意,第二个项目使用 ReScript 作为主要语言,并包含这一行:

@module("@kaiko-internal/transaction") external transaction: 'a = "default"

(文件transaction.js目前在ReScript中有点难写)

现在在第二个项目中,我像这样依赖@kaiko/reindexed

{
  "dependencies": {
    "@kaiko/reindexed": "git+ssh://git@gitlab.com:kaiko-systems/ReIndexed.git#workspaces"
   }
}

但是当我运行yarn 并尝试编译这个项目时,我没有得到正确的@kaiko/reindexed 及其依赖项,它基本上无法安装@kaiko-internal/transaction,即import * from '@kaiko-internal/transaction'; 失败。

有没有办法从工作区的 monorepo 安装多个依赖项?

【问题讨论】:

标签: yarn-workspaces rescript


【解决方案1】:

您可以将事务添加为本地包:

  "dependencies": {
    "@kaiko-internal/transaction": "file:../transaction"
  }

之后你需要做yarn installnpm install 然后你将在 node_modules 中链接到交易

【讨论】:

    猜你喜欢
    • 2020-07-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2013-02-15
    • 2019-05-06
    • 2020-10-06
    • 1970-01-01
    相关资源
    最近更新 更多