0

他の人にもこのワークフローがあると確信しているので、ここで何かが欠けているに違いありません。

パッケージの新しいバージョンを開発し、それをリンクして別のアプリでテストし、別の (関連のない) パッケージをインストールするにはどうすればよいでしょうか?

私がやったこと:

  1. 実行しますgit clone git@package-to-update && cd package-to-update
  2. パッケージを編集し、package-to-update/package.jsonバージョンをに更新し2.0.0ます。
  3. を使用するように更新my-app/package.jsonしますpackage-to-update@2.0.0
  4. cd package-to-update && npm link && cd my-appp && npm link package-to-update.
  5. テストしてmy-app、問題が解決することを確認しpackage-to-update@2.0.0、小さなパーティーを開きます。
  6. のアップストリームにプッシュしpackage-to-update、マージ リクエストを作成し、メンテナーが私の変更をマージするのを待ちます。
  7. 私が取り組んでいる機能に必要なため、当面はローカルのリンクされたバージョンを使用してください。
  8. に別のパッケージother-unrelated-packageが必要であることに注意してくださいmy-app
  9. 実行しますcd my-app && npm install other-unrelated-package
  10. package-to-update@2.0.0まだ公開されていないをプルしようとしているため、NPM は失敗します。
  11. 泣く。

必要なたびに次のプロセスを実行する唯一のオプションはありますnpm installか?

  1. でダウングレードpackage-to-updatemy-app/package.jsonます。
  2. 実行しますnpm install other-package
  3. 実行しますnpm link package-to-update
  4. "でアップグレードpackage-to-updatemy-app/package.jsonます。
4

1 に答える 1

0

私は通常npm link、開発にのみ使用します。ローカル バージョンを使用し、再リンクを行う必要がない場合は、バージョンではなくパスでインストールします。

npm install /file/path/to/your/module

次に、次のfile:ような URL になりますpackage.json

    "slug": "file:../../slug"

その場合、 Subsequentnpm installはレジストリを検索しません。(将来のnpm install実行時にレジストリを回避するため、パッチを適用したバージョンがリリースされたときにレジストリに戻すことを忘れないでください!)

私はテストしていませんが、この方法では、別の依存関係の依存関係ではなく、直接の依存関係としてのみ気にする必要がある場合があります。上記のワークフローに基づいて、そのように思われますが、他の人のためにここで言及します.

于 2020-10-31T17:11:25.170 に答える