私はLernaで私のモノレポを設定しようとしています。計画は、独自のパッケージでなければならないコードの断片を引き出すことによって、既存のプロジェクトをリファクタリングすることです。私はlerna init
を実行した、と私の現在の設定は次のようになります。未公開のパッケージでLernaを使用する
project/
packages/
new-refactored-package/
package.json
prior-existing-project/
package.json
{ "dependencies" : { "new-refactored-package" : "latest" } }
package.json
{
"devDependencies": {
"lerna": "^2.0.0-rc.5"
}
}
lerna.json
{
"lerna": "2.0.0-rc.5",
"packages": [
"packages/*"
],
"version": "0.0.0"
}
私の理解では、この時点ではlerna bootstrap
がプロジェクトにpackage1
を見つけ、prior-existing-project
の/node_modules/new-refactored-package/
にそれをシンボリックリンクになっているということでした。 lerna's readme:
現在のLernaリポジトリにパッケージをブートストラップします。すべての依存関係をインストールし、相互依存関係をリンクします。
実行すると、このコマンドはします:
- NPMは、各パッケージのすべての外部依存関係をインストールします。
- Symlinkは、相互に依存するすべてのLernaパッケージを一緒にリンクします。
- npmすべてのブートストラップされたパッケージを公開します。私はそれを実行したときに
しかし、レルナはnpm install new-refactored-package
に代わりにしようとします。
NPMのERR! 404レジストリはGETのために404を返すhttps://registry.npmjs.org/new-refactored-package
私は誤解していますか?まず、依存パッケージをnpm
に公開する必要がありますか?それらが利用可能ある場合
です!ドキュメンテーションは、未公開のパッケージやリンクについては誤解を招きます。誰かが私たちを助けてくれることを願っています。 –