私はこの3つのローカルnpmパッケージ:C:\projects\A
,C:\projects\B
およびC:\projects\main
を持っています。 Main
はWebpackで構築されたReactアプリです。 Main
はA
とB
に依存し、A
はB
に依存します。私たちは、パッケージが同じ親フォルダに置かれることを保証する独自の "グローバル"パッケージマネージャを持っています。私はMain
にnpm install
に私はA
またはB
ローカルパッケージに依存するNPMパッケージを正しく設定してください
ノードの(とのWebPACKの)
require
が解決されるローカルパッケージ:
は、私はこれらを合わせたいです
私はこれをMain
のpackage.json
:
....
"dependencies": {
"A": "file:../A",
"B": "file:../B",
"react": ...
.........
しかし、奇妙な問題に遭遇した:WebPACKのビルドが失敗したのでnpm
は、A
年代とB
さんnode_modules内のすべてのパッケージをインストールしません。そして毎回npm install
を実行する必要があります。
Google検索でlinklocalが見つかりました。すべてのローカルパッケージをシンボリックリンクとして置き換えています。一度NPMの間にインストールしてから、再びだから、リンクローカル
後:あなたは一般的に二回リンク依存関係の依存関係をインストールしてしまうなど、
リンクローカルは、リンクされた依存関係の依存関係をインストールしません。しかし、別の問題に遭遇しました私は
linklocal
を実行し、次にpostinstall
スクリプトでnpm install
を再度実行しました。しかし、3 @ NPMは、シンボリックリンクフォルダに何もしませんでした。npm WARN update-linked node_modules/A needs updating to 1.0.0 from 1.0.0 but we can't, as it's a symlink
その後、私はすべてのシンボリックリンクモジュールに移動して、そこから
npm install
を実行するためにpostinstall
を変更することを決めました。そして、それは最初の視点で働いた。インストールはうまくいっていた。しかし、WebpackはReact(禁止されている)の2つのコピーをバンドルし始めました。パッケージを正しく設定するにはどうすればよいですか?