web-dev-qa-db-ja.com

糸のワークスペースもnpmで動作しますか?

ビルドツールとしてnpmではなく毛糸を使用するリポジトリをチェックアウトしました。

package.jsonでは、複数のサブプロジェクトを処理するためのワークスペースを定義します。

{
  "workspaces": [
    "packages/*"
  ],
  "dependencies": [],
  "devDependencies": [
    // long list
  ]
}

その結果、ルートpackage.jsonには、実行時の依存関係は含まれていません。ただ packages/*/package.jsonそれらを含みます。

コンパイル(および開発モードで開始)するには、次のようにします。

yarn install
yarn start

workspacesもnpmで認識され正しく使用されているドキュメントは見つかりませんでした。

それをnpmでも機能させる方法はありますか?

16
helt

Monorepoでの依存関係の管理はnpmではサポートされていません。 Lerna パッケージは、相互依存関係を持つJavaScriptプロジェクトを管理するために使用されます。 Lernaは内部でYarnを使用していると思いますが、Yarnをプロジェクトのパッケージマネージャーとして使用すると、この機能はそのままでサポートされます。

以下は、YarnとLernaがどのように連携するかを確認するのに役立つレポです。 https://github.com/Quramy/lerna-yarn-workspaces-example

16
erica mitchell