簡體   English   中英

如何升級lerna子包的node模塊

[英]How to upgrade node module of the lerna's subpackage

我開始使用lerna以便能夠使用單個命令為所有子包安裝所有節點模塊。 目前,除了lerna bootstrap之外,我不使用任何其他 lerna 功能。 我的lerna.json

{
  "lerna": "3.22.0",
  "npmClient": "yarn",
  "packages": [
    "package-a",
    "package-b"
  ],
  "version": "1.0.0"
}

我的根package.json

{
  "name": "test",
  "private": true,
  "version": "1.0.0",
  "scripts": {
    "postinstall": "lerna bootstrap"
  },
  "dependencies": {
    "lerna": "^3.22.1"
  }
}

我的package-apackage.json

{
  "name": "package-a",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "moment": "2.22.0"
  }
}

我的package-bpackage.json

{
  "name": "package-b",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "package-a": "1.0.0",
    "moment": "2.22.0"
  }
}

我想升級package-b中的moment 如果我在package-b文件夾中運行yarn upgrade moment --latestyarn upgrade moment --latest出現以下錯誤:

yarn upgrade v1.22.5
[1/4] 🔍  Resolving packages...
error Received malformed response from registry for "package-a". The registry may be down.
info Visit https://yarnpkg.com/en/docs/cli/upgrade for documentation about this command.

如果我在根文件夾中運行npx lerna --scope package-b exec -- "yarn upgrade moment --latest"我收到以下錯誤:

lerna notice cli v3.22.1
lerna notice filter including "package-b"
lerna info filter [ 'package-b' ]
lerna info Executing command in 1 package: "yarn upgrade moment --latest"
yarn upgrade v1.22.5
[1/4] 🔍  Resolving packages...
error Received malformed response from registry for "package-a". The registry may be down.
info Visit https://yarnpkg.com/en/docs/cli/upgrade for documentation about this command.
lerna ERR! yarn upgrade moment --latest exited 1 in 'package-b'
lerna ERR! yarn upgrade moment --latest exited 1 in 'package-b'

我應該如何正確升級lerna子包中的節點模塊?

由於您的兩個包都是私有的,因此在升級moment庫期間, npm存儲庫無法找到它們。 此外, lerna包目前基本上沒有維護。

存在一種解決方法。 暫時刪除package-b.json文件中的"package-a": "1.0.0",行。

更新了package-b/package.json文件:

{
  "name": "package-b",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "moment": "2.22.0"
  }
}

現在運行:

cd package-b && yarn upgrade moment --latest && cd ..

然后把"package-a": "1.0.0",放回你的package-b.json文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM