1. ホーム
  2. node.js

[解決済み] npm install "が遅いのはなぜですか?

2023-08-10 19:24:41

質問

パッケージのセットアップで、何か間違っているのでしょうか? これを高速化する方法はありますか?

  • packages.json :

    {
    "name": "testing node",
    "version": "0.0.0",
    "description": "",
    "main": "app.config.js",
    "dependencies": {
        "babel-core": "^6.17.0",
        "babel-loader": "^6.2.0",
        "babel-plugin-add-module-exports": "^0.1.2",
        "babel-plugin-react-html-attrs": "^2.0.0",
        "babel-plugin-transform-class-properties": "^6.3.13",
        "babel-plugin-transform-decorators-legacy": "^1.3.4",
        "babel-preset-es2015": "^6.3.13",
        "babel-preset-react": "^6.3.13",
        "babel-preset-stage-0": "^6.3.13",
        "react": "^0.14.6",
        "react-dom": "^0.14.6",
        "webpack": "^1.12.9",
        "webpack-dev-server": "^1.14.1",
        "mysql": "*"
    },
    "devDependencies": {},
    "scripts": {
        "dev": "webpack-dev-server --content-base src --inline --hot",
        "test": "echo \"Error: no test specified\" && exit 1"
    },
    "author": "",
    "license": "ISC"
    }
    
    

フォルダの中で

npm install

完全にセットアップするのに何時間もかかるような、次のようなものが出てきます。

これは、一般的なコンピューティングやハードウェアの問題ではありません。比較速度は以下のとおりです。

    1. 実行 haversine を実行して、非インデックスの mysql テーブルの 100 万以上のレコードのすべての距離を計算する方が、かなり短い時間で済みます。(計算)
    1. Linux のフル インストール (2 層 DVD ISO) を大幅に短時間でダウンロードします。(帯域幅)

私は、何か問題があるのではと思い、私の packages.json または私が実行しているコマンド npm install . 画像から、同じファイルを取得しようと何度も試みているようです。 もしかしたら、強制的に npm をより安定したミラーから取得させる方法があるかもしれません。 デフォルトで使用するミラーの選択がおかしいのでしょうか? 私は具体的な原因を知らないので、このような質問をしているのです。

この問題は私のLinode、Digital Ocean、VULTRのボックスでも発生します。 npm を使用する方法 (何かが欠けている)、または私の packages.json .

どのように解決するのですか?

コメント欄から解決することができましたので、以下にその手順を概説します。

コメント欄より

AndreFigueiredo は述べています。

<ブロッククオート

npm v3.5.2 と node v4.2.6 を使って、あなたの package.json で1分以内にここにモジュールをインストールしました。nodeとnpmを更新することをお勧めします。


v1.3.0 では、多くの厄介な問題を解決するために v3 で導入されたフラット化された依存関係すらありませんでした。

LINKIWI と記載されています。

<ブロッククオート

一般的に言って、最新のソフトウェアを維持するために、aptのようなパッケージマネージャに依存しないでください。apt からインストールした node/npm コンボをパージして、nodejs.org の指示に従って最新リリースをインストールすることを強くお勧めします。

観察事項

彼らのアドバイスに従って、私は CentOS、Ubuntu、Debian がすべて を使用していることに気づきました。 の古いバージョンを使用していることに気づきました。 nodejsnpm を取得する際に 現在の を使用して apt または yum (オペレーティングシステムのプライマリパッケージマネージャに依存します)。

古くなった nodejsnpm

できるだけ頭を使わずに解決するために、次のコマンドを実行しました(Ubuntuの場合)。

apt-get purge --auto-remove nodejs npm

これにより、システムから古風な nodejsnpm に加えて、不要になった依存関係をすべて削除しました。

現在のインストール nodejs と互換性のある npm

次の目的は、現在のバージョンの両方の nodejsnpm というように nodejs から直接 ここから でコンパイルするかバイナリを使用します。しかし、これでは必要なときにバージョンを交換するのが簡単ではありません (プロジェクトの年齢によって異なります)。

という素晴らしいパッケージに出会いました。 nvm という素晴らしいパッケージが見つかり、(今のところ) このタスクをうまくこなしているようです。バージョン 7 の現在の安定した最新ビルドをインストールするために nodejs :

インストール nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

ソース .bashrc

source ~/.bashrc

nvm を使ってインストールする nodejs 7.x

nvm install 7

インストール後、私は より速く のパフォーマンスに驚きました。 npm のパフォーマンスが向上し、パッケージのスナッグ中にきれいなプログレスバーが表示されるようになりました。

好奇心旺盛な方のために、現在 (この日付の時点) の npm は以下のようになっているはずです (そうでない場合は、おそらく更新が必要です)。

概要

node.js や npm をインストールするために OS のパッケージマネージャを使わないでください。 - どの OS もこれらのパッケージを (ほとんど) 最新に保っていないようなので、非常に悪い結果を招くことになります。もし、あなたが npm 動作が遅い であり、コンピュータやインターネットが原因ではない可能性が高いです。 が原因である可能性が高いです。 古いバージョンである可能性が高いです。