Перейти к основному содержимому
Version: 5.x

Ограничения

  1. npm-shrinkwrap.json и package-lock.json игнорируются. В отличие от pnpm, npm может устанавливать одно и то же name@version несколько раз и с разными наборами зависимостей. Локфайл пакетного менеджера npm предназначен для отражения плоской структуры node_modules, однако, поскольку pnpm не может создать подобную структуру, он не может пользоваться форматом лок-файла npm. Смотрите pnpm import, если вы хотите преобразовать лок-файл в формат подходящий для pnpm.
  2. pnpm не может публиковать пакеты npm с bundledDependencies. В настоящее время, не планируется добавлять поддержку bundledDependencies, поскольку они работают недостаточно хорошо при публикации, даже в момент использовании самого npm. Вместо этого мы рекомендуем вам использовать настоящий сборщик зависимостей/пакетов, например, webpack, rollup или ESBuild.
  3. Бинстабы (файлы в node_modules/.bin) всегда являются файлами терминала/оболочки, а не символическими ссылками на JS файлы. (Бинстабы - это скрипты-обертки вокруг исполняемых файлов, целью которых является подготовка среды перед отправкой вызова исходному исполняемому файлу). Файлы оболочки созданы для того, чтобы помочь подключаемым CLI приложениям в поиске своих подключаемых модулей в необычной структуре node_modules. Это очень редко является проблемой, и если вы ожидаете, что файл будет JS-файлом, вместо этого ссылайтесь непосредственно на исходный файл, как описано в #736.
  4. Nodejs флаг --preserve-symlinks не работает при выполнении в проекте который использует pnpm.

У вас есть идея о том, как решить эти проблемы? Поделитиесь ими.