Метеор определяет, какие функции следует добавить в проект, используя файл packages
. Он содержит имена пакетов, таких как email
или iron:router
. Это агностик версии Meteor, которую вы запускаете, что в конечном итоге приведет к серьезным проблемам, если у вас нет сопоставления того, какие версии пакетов подходят для работы (то есть, как известно, хорошо работают вместе).
Файл versions
дополнительно указывает, какие фактические версии пакетов вы используете в проекте. Вы можете указать версию, используя meteor add package:[email protected]
.
В каждой упаковке есть третья (скрытая) информация о версиях, которая определяет, с какими другими пакетами она хорошо работает (см., Например, this). Они определяют, какую минимальную версию они требуют, что-то лучше, вероятно, также будет работать. Здесь вы найдете интеллектуальную схему управления версиями.
В пакетах Meteor используется семантическое управление версиями, поэтому вы можете лучше сказать, что произойдет с обновлением. Семантическое управление версиями означает, что каждый выпуск состоит из major.minor.patch
, например. x.y.z или 1.1.0. Патчи не изменяют функциональность, поэтому любое изменение z будет безвредным. Изменения второстепенного или y не должны нарушать существующий API. Могут быть добавлены новые функциональные возможности или существующие API могут быть изменены/устарели. Изменения в major/x, вероятно, вносят изменения в разрыв, а также ломают зависимые пакеты.
Вы можете найти более подробную информацию на странице Arunoda в: https://meteorhacks.com/meteor-packaging-system-understanding-versioning.html
Технически ты прав, почему избыточную информацию в обоих файлах, packages
кажется излишним, когда вся необходимая информация находится внутри versions
уже. Вы заметите, что в packages
перечислены только те пакеты, которые вы явно добавили в свой проект, а versions
включает все зависимости. Метеор достаточно умен, чтобы знать, что если вы удалите пакет, чтобы больше не связывать ненужные зависимости пакетов. Вам нужны оба файла, чтобы лучше отличать то, что было добавлено пользователем, и то, что было добавлено автоматически с помощью диспетчера пакетов.
Thx! это очень помогло. шаг за шагом мы получим это значение 1.0. –