Мы используем Nexus для нашего репозитория пакетов NPM (среди прочего). В наших файлах package.json мы используем синтаксис semver https://docs.npmjs.com/misc/semver но игнорируется. Кто-нибудь знает, есть ли у нас проблема с конфигурацией? Или, может быть, этого не следует ожидать от NPM вместо Nexus?
Пример сценария, который может произойти с нами во время разработки:
Компонент А — package.json:
"name": "ComponentA",
"version": "1.1.2"
Компонент Б — package.json:
"name": "ComponentB",
"version": "3.0.0"
"dependencies":
"ComponentA": "^1.1.0"
Person1 создает и публикует версию 1.1.2 ComponentA в nexus.
а. ComponentA npm run build b. ComponentA npm публикует в nexus c. npm view ComponentA последняя версия: 1.1.2
Теперь Person2 build 7 публикует версию 1.1.1 ComponentA в.
а. ComponentA npm run build b. ComponentA npm публикует в nexus c. npm view ComponentA last: 1.1.1 Nexus рассматривает последнюю версию компонента как последнюю опубликованную, несмотря на то, что известно, что версия 1.1.2 тоже была опубликована.
Теперь, когда ComponentB устанавливает свои зависимости, я ожидаю получить версию 1.1.2 ComponentA, но на самом деле я получаю версию 1.1.1.
д. ComponentB установка npm