2016-10-19 10 views
1

最近npmを使い始めましたが、インストール中に警告がポップアップすることがありました。npmインストールと廃止予定の警告

npm install gulp-chimp --save-dev 

実行例えば

は、

NPMは[email protected]非推奨WARN次の警告が得られる:廃止されたのイソ文字列を、使用@segment/to-iso-stringを使用します。

NPMは非推奨[email protected]をWARN:ジェイドはパグに改名された、代わりにヒスイ

NPMのパグの最新バージョンをインストールしてください非推奨[email protected]をWARN:minimatch 3.0.2にアップデートしてください以上正規表現のDoS問題を回避するために

NPMは廃止[email protected]をWARN:ReDoS脆弱性https://nodesecurity.io/advisories/130

のSet-Cookieを解析する私の質問は、チンパンジーを飲み込むために固有のものではないが、一般的にはNPMに。これらのパッケージを更新するかどうかを試してください。私は、更新されたパッケージを使用するかどうかは開発者の呼び出しであることを理解しています。パッケージを自分で更新しようとすると何かが壊れてしまうかもしれませんが、脆弱性が存在することを心配しています。

+1

更新する前に、プロジェクト/ツールへの影響を確認する必要があります。 更新プログラムが好きな場合は、開発環境のすべてのツールを必要な数だけ再設定する準備ができている必要があります.DEVツールとそのバージョンを追跡するためのバージョンスクリプトまたはリストを保持してください。 更新プログラムで何か問題が発生した場合に備えて、この方法で「フォールバック」があります。 –

+0

@AndreCanilhoは良い点があります。 GITを使っていますか?これはあなたの不安を少し和らげ、あなたのコア依存性を大幅に変更することについてより良く感じるかもしれません。 – Knostradamus

答えて

2

依存関係を更新しても問題が解決しないようにするには、バージョンコントロールが必要です。多くの場合、依存していない依存関係をそれほど問題なく更新することはできますが、そうすることで、それを使ってパッケージが破損する可能性があります。

推奨しないことは、非推奨エラーを無視することです。パッケージ管理者が最後に更新する必要があるのは間違いありませんが、問題はまだあなたのものです。これらの旧式のパッケージの多くは、現在セキュリティ上の脆弱性が知られているため、アプリケーションに影響を与えます。これまでの深さのレベルを上げる、唯一のトップレベルの依存関係を確認します0の深さに

npm outdated -depth=3

これはデフォルト:

は依存関係が時代遅れであるの固体絵のように実行何かを得るために、ある程度(3はほんの一例に過ぎません)、これまで以上に多くの依存関係が明らかになります。

さらに重要なことは、すでに指摘したように、これらの依存関係のどれに既知の脆弱性が存在するかを知ることです。 Snykのようなツールを使用して、これらの脆弱性をテストして、依存関係をopen-source database of vulnerabilitiesと比較して調べることができます。 Snykは、アップグレードがコードを壊した場合に、アップグレードせずに(CLIまたは自動Githubプルリクエストを使用して)脆弱性を修正することができます。

全開示:私はSnykで働いています。 :)これはまさにそれが助けようとしている問題だと言われています。

関連する問題