Npm 7 CLI Теперь Общедоступен


Версия 7 npm CLI теперь общедоступна и теперь является официальной версией менеджера пакетов JavaScript по умолчанию. Инструментарий командной строки добавляет поддержку рабочих пространств.

npm-это менеджер пакетов для JavaScript, который является менеджером пакетов по умолчанию Node.js, асинхронная среда выполнения JavaScript, управляемая событиями, построенная на движке JavaScript Chrome V8. 

npm 7 поставляется с node.js 15 с октября, но до сих пор был альтернативой выбора. Теперь он был принят в качестве последней версии в реестре npm и будет установлен по умолчанию при запуске npm install —global npm.

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

В новой версии используется другой формат файла блокировки, который обратно совместим с пользователями npm 6. Разработчики говорят

«lockfile v2 открывает возможность выполнять детерминированные и воспроизводимые сборки для создания дерева пакетов.»

До сих пор, пряжа.файлы блокировки были проигнорированы, но это изменение означает, что CLI npm теперь может использовать yarn.блокировка в качестве источника метаданных пакета и руководства по разрешению. Если пряжа.если файл блокировки присутствует, то npm также будет поддерживать его в актуальном состоянии с содержимым дерева пакетов.

Новая версия также улучшает поддержку одноранговых зависимостей. В более ранних версиях вам приходилось управлять и устанавливать собственные одноранговые зависимости. Новый алгоритм одноранговой зависимости гарантирует, что достоверно соответствующая одноранговая зависимость будет найдена в местоположении одноранговой зависимости в дереве node_modules или выше него.

Еще одно улучшение касается урегулирования конфликтов. В более ранней версии, если в одноранговых зависимостях возникали конфликты, вы получали предупреждение о том, что версии несовместимы, но npm все равно устанавливал зависимости без ошибок. npm 7 заблокирует установку, если присутствует конфликт зависимостей вышестоящего уровня, который не может быть автоматически разрешен, хотя вы все равно можете принудительно повторить попытку либо обойти конфликт, либо полностью игнорировать одноранговые зависимости. 

Разработчики говорят, что, поскольку многие пакеты в экосистеме стали полагаться на свободные разрешения зависимостей одноранговых узлов, npm 7 напечатает предупреждение и обойдет большинство конфликтов одноранговых узлов, которые существуют глубоко в дереве пакетов, поскольку вы все равно не сможете их исправить.


Добавить комментарий