npmネストされた依存関係を管理するためのベストプラクティスについて質問があります。npmネストされた依存関係管理
私の状況を説明してください、私が間違っていることを教えてください、またはこれに近づく最良の方法は何ですか?
nodeenvでexpress.jsとexpress-mongostoreを使用しているアプリを実行しています。 nodeenvのため、私はすべてをグローバルにnpm-ingしているので、それらはすべてnenv/lib/node_modulesフォルダの下にあります。問題は、私は、急いで最先端のexpress.jsを開発しようとしていますが、express-mongostoreはしばらく更新されていません。両方のモジュールをインストールした後、私はこのフォルダ構造を取得します。
nodeenv/lib/node_modules/express/node_modules/connect/..
/
/connect-mongodb/node_modules/ connect/...
だから私は2つの異なるバージョンの接続があるということです。
mongodbストアで生成されたクッキーとセッションミドルウェアで生成されたクッキーが異なる2つのconnect utilsの実装を指しているため、焼き付きました(1つはutilと他のutilを直接呼び出すストアを呼び出します)。要求解決中に異なるファイルを指し示す)。実際の違いは、異なるアルゴリズムを使用してCookieに署名することです。しばらくの間、私のセッションはすべてのページの読み込みを無効にしていました。このレベルまでデバッグするまでには長い時間がかかりました。
私はインターネットで読んでいましたが、これはnpm方法といいことであると思われるようです。ここでの問題は、expressは接続と接続のutilsの束に依存しているので、mongodbはconnectの同じクラスのいくつかを継承します。異なるreposにすることは問題です。
私は現在2つのバージョンのconnectを持っていますが、私はもう一方のバージョンと同じようにパッチを当てました。これは持続可能な解決策ではないことは明らかです。この場合、依存関係管理をどのように進めてアプローチする必要がありますか?
ありがとうございます!