問題タブ [npm-shrinkwrap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
133 参照

javascript - 新しく作成したノード モジュールを package.json に保存するにはどうすればよいですか?

ノードモジュールとして新しい機能を作成します。

もちろん、シュリンクラップすると、次のようなエラー メッセージが表示されます。

新しく作成された余分なパッケージを に保存する簡単な方法はありますpackage.jsonか?

0 投票する
0 に答える
112 参照

node.js - npm shinkwrap と git を使用して node_modules を追跡する

私は、ランチャーといくつかの自家製プラグインを備えたノード プロジェクトに参加しています。これらのプラグインはpackage.json、git リポジトリ アドレスを使用して、ランチャーで依存関係としてマークされます。

私は最近npm shrinkwrap、プラグインごとに使用されるコミットを完全に取得しようとしましたが、プラグインの開発者はこれを破ります。npm linkgit リポジトリに使用しようとしましたが、追跡されshrinkwrapなくなりました。

基本的に、作業できるプラグインのレポを複製し、正確な瞬間に依存関係のスナップショットを取得するにはどうすればよいでしょうか?

あなたが私に与えることができるリードをありがとう。

0 投票する
0 に答える
63 参照

node.js - フォルダーの境界を越えてパッケージを共有する

次のパッケージ構造があるとします。

ここで、C の require(b) と D の require(b) は異なります (=== ではなく、一意のインスタンス)。これは、b を 1 レベル上に移動することで解決できます。

ここで、C と D が require(b) を要求すると、実際には同じオブジェクトが取得されます。ただし、次のレイアウトがあるとします。

ここで、Main の require(b) を 2.0.0 にするためにできるレイアウトはないと思いますが、c と d が同じ b を共有できるようにします。私は正しいですか?c と d の b を同じ場所にシンボリック リンクすることはできますが、その構造をシュリンク ラップやその他の形式で表現することはできません。

0 投票する
1 に答える
255 参照

javascript - 開発中の NPM シュリンクラップ

npm installとファイルの両方を持つプロジェクトを開発環境で実行するとどうpackage.jsonなりnpm-shrinkwrap.jsonますか? シュリンクラップを無視して、すべてに使用package.jsonしますか、それとも開発依存関係だけに使用しますか?

0 投票する
2 に答える
3210 参照

npm - 「npm install」がシュリンクラップの「解決済み」プロパティを使用するのはなぜですか

コンピューターに「npm_lazy」などのローカル npm ミラーをセットアップすることを検討しています。しかし、ローカルミラーではうまく機能しないnpm installようです。npm shrinkwrap

説明させてください。npm-shrinkwrap.jsonファイルがある場合、npm installコマンドは常に、shrinkwrap ファイルの"resolved"プロパティで指定された URL からパッケージを要求します。したがって、ローカル npm ミラーを で実行していてhttp://localhost:12345/も、それをレジストリとして使用するように npm を構成しても、ローカル ミラーからパッケージ モジュールを要求することはありません"resolved"( shrinkwrap ファイル内のプロパティがたまたま を指していない限りhttp://localhost:12345/) 。 .

基本的に、npm installnpm のレジストリ設定を無視し、shrinkwrap"resolved"プロパティに従います。

依存パッケージ名とバージョンで動的に構築する代わりにプロパティをnpm install使用する理由はありますか? "resolved"npm-shrinkwrap.json にこのフィールドがあるのはなぜですか?

それでは、私の問題に戻ります。npm_lazy をローカル npm ミラーとして使用したいと考えています。を指すようにすべての"resolved"URL を書き換えることができます。しかし、その場合、私のシュリンクラップ ファイルは移植性が低くなります。同僚のコンピューターで同じ npm_lazy サーバーが実行されていない限り、同僚は使用できません。npm-shrinkwrap.jsonhttp://localhost:12345/

透過的なミラーを作成するために、すべてのregistry.npmjs.orgトラフィックをにリダイレクトすることを検討しました。localhostしかし、それは難しすぎるでしょう -- HTTPS をサポートする必要があります。また、npm_lazy はどのようにして真のドメインにアクセスするのでしょうか? 変更される可能性がある IP アドレスで指定する必要があります。

ローカル コンピューターの NPM キャッシュをセットアップするために、他の誰かが同じことを試みましたか? しかし、私の主な質問は、なぜ npm が「解決済み」プロパティを使用するのですか? ありがとう。

0 投票する
1 に答える
1960 参照

node.js - npm はパッケージを再帰的に更新します

私はこのようなプロジェクトを持っています
ここに画像の説明を入力

すべての private_mod バージョン (ルートおよびネストされたレベル) を 1.3.2 に更新したいと考えています。そうするnpmの方法はありますか?

注: 各依存関係 (dep-1、dep-2、dep-3) には独自の依存関係があります。package.json

私が考えることができる 1 つの方法は次 のとおり
ですnpm shrinkwrap
npm-sharinkwrap.json
shrinkwrap

0 投票する
0 に答える
96 参照

proget - ProGet 経由で npm-shrinkwrap を使用する場合の ECONNRESET エラー

内部の ProGet サーバーを介してインストールされたシュリンクラップ パッケージを使用すると、ECONNRESET の問題が発生します。npm レジストリを通常の npm レジストリに構成し、それに基づいてパッケージをシュリンクラップすると、すべて正常にインストールされます。node_modulesを削除し、実行の合間にnpm cache cleanを実行して、ProGet からのダウンロードを強制します。興味深いことに、 npm-shrinkwrap.jsonにリストされている 1,000 以上のリソース リクエストはすべて、ファイル ダウンローダーに接続すると正しくダウンロードされます。

詳細フラグを指定してインストールすると、npm クライアントがレジストリ URL をhttp://<internal-url>/npm/npmから任意に変更して、一部の要求でnpm /npmを省略するように見える多数の 404 が表示されますが、なぜそれが起こるのか、それが関係しているかどうかはわかりません。

ProGet 3.8.6、npm 3.3.11 および 3.5.4 (2 台の開発者マシンでテストしても同じ結果)、およびノー​​ド 4.2.1 を使用します。