Различные результаты блокировки пакетов в разных версиях npm - PullRequest
0 голосов
/ 03 апреля 2019

Я играю с новым приложением реагирования на машинопись.(создано с помощью CRA) Я использую npm@5.6.0 на ПК и @ 6.4.1 на другом.Более новая Версия устанавливает зависимости с более старой версией, чем более новая.Более новая версия также показывает 63 уязвимости низкой степени серьезности после установки.

installed with 5.6.0
        "@babel/code-frame": "7.0.0",
        "@babel/generator": "7.4.0",
        "@babel/helpers": "7.4.2",
        "@babel/parser": "7.4.2",
        "@babel/template": "7.4.0",
        "@babel/traverse": "7.4.0",
        "@babel/types": "7.4.0",
        "convert-source-map": "1.6.0",
        "debug": "4.1.1",
        "json5": "2.1.0",
        "lodash": "4.17.11",
        "resolve": "1.10.0",
        "semver": "5.6.0",
        "source-map": "0.5.7"

    installed with 6.4.1
        "@babel/code-frame": "^7.0.0",
        "@babel/generator": "^7.2.2",
        "@babel/helpers": "^7.2.0",
        "@babel/parser": "^7.2.2",
        "@babel/template": "^7.2.2",
        "@babel/traverse": "^7.2.2",
        "@babel/types": "^7.2.2",
        "convert-source-map": "^1.1.0",
        "debug": "^4.1.0",
        "json5": "^2.1.0",
        "lodash": "^4.17.10",
        "resolve": "^1.3.2",
        "semver": "^5.4.1",
        "source-map": "^0.5.0"

1 Ответ

0 голосов
/ 03 апреля 2019

Из нпо документ: https://docs.npmjs.com/files/package-locks

Возможно, для установки пакета использовались разные версии npm (или других менеджеров пакетов), каждая из которых использовала несколько разные алгоритмы установки.

Если вы устанавливаете без блокировки пакета , вы можете создавать различные выходные данные.

Вот почему вам нужно зафиксировать файл package-lock.json после первой установки, чтобы убедиться, что кто-либо в вашей команде запускает npm install, после чего получает точно такое же дерево зависимостей .

...