web-dev-qa-db-ja.com

ワークスペースがまだ巻き上げられているnohoist

私のMonorepo内には、node_modules内のすべての依存関係が必要なパッケージが1つあります。

しかし、私が何をしても、node_modulesは空のままです。

だから、私の質問の目的のために、私は次の設定で問題を再現することができました

/
 package.json
 lerna.json
 node_modules
 packages/
          A/
            node_modules
            package.json
            index.ts
          B/
            node_modules
            package.json
            index.ts

repo を作成しました!

メインのpackage.json

{
  "name": "A-B-test",
  "private": true,
  "workspaces": {
    "packages": ["packages/*"],
    "nohoist": [ "**/B" ]
  },
  ...
  "devDependencies": {
    "lerna": "^3.13.4"
  }
}

B/package.jsonは次のようになります

{
  "name": "@scaljeri/B",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "angular": "^1.7.8"
  },
  "devDependencies": {
    "browserify": "^16.2.3",
    "TypeScript": "^3.5.2"
  }
}

ここで、プロジェクトのルートでyarnを実行すると、すべての依存関係がルートにインストールされますnode_modules

糸バージョン:1.16.0ノード:12.4.0

問題となる可能性のある提案はありますか?

6

Nohoistを子パッケージのpackage.jsonに適用すると、私にとってはうまくいきました。

  "workspaces": {
    "nohoist": [
      "*react-native*",
      "*react-native*/**"
    ]
  },
1
rt_