Игнорирование определенных пакетов в package-lock.json
У меня определенная головоломка, и я не могу найти правильное решение.
Текущий проект, в котором я работаю, использует npm для управления нашими пакетами. Некоторое время мы не использовали package-lock.json, но нам нужно его снова включить.
Проблема в том, что у нас есть несколько пользовательских пакетов (например, "my-components"), которые мы устанавливаем через npm, которые содержат наш код для компонентов и т. Д. Для этих пакетов мы всегда хотим включить последнюю версию при выполнении "npm". установить".
У меня вопрос, есть ли способ исключить определенные пакеты для package-lock.json? Или есть другой способ решения этой проблемы?
В идеале все пакеты, кроме наших пользовательских, должны быть привязаны к определенной версии, и тогда наши пользовательские пакеты всегда будут устанавливаться с последней версии.
РЕДАКТИРОВАТЬ: Чтобы уточнить, основная проблема, с которой я сталкиваюсь, заключается в том, что для разработки мы не используем конкретные версии наших пользовательских пакетов. Мы просто вытаскиваем то, что происходит в ветке #dev. Для конкретных выпусков у нас есть номер версии, но у нас все хорошо. Мы хотим, чтобы наши пользовательские пакеты говорили "Всегда извлекайте то, что происходит в ветке dev, всякий раз, когда запускается установка npm", но мы хотим, чтобы все остальные наши пакеты были привязаны к определенной версии.
1 ответ
Если это только для разработки, вы можете использовать npm link
, Он в основном создаст символическую ссылку на другой пакет, который вы можете обновлять из своей собственной папки.
Например, если у вас есть два пакета, my-components
а также main-project
, где my-components
это зависимость main-project
и давайте предположим, что оба в ~/projects
каталог.
От ~/projects/my-components
исходная папка, запустить npm link
,
Тогда из ~/projects/main-project
бежать npm link my-components
,
Теперь вы можете разрабатывать эти два проекта параллельно.