Это потому, что предварительные версии не включены по умолчанию.
Согласно документам :
Сравнения SemVer без предварительного релизного компаратора пропустят предварительные версии. Например,> = 1.2.3 пропустит предварительные выпуски при просмотре списка выпусков, в то время как> = 1.2.3-0 выполнит оценку и найдет предварительные выпуски.
Чтобы соответствовать этой предварительной версии, вы можете использовать, например: ~3 >3.4.5-0
.
3.4.5-1 удовлетворяет условию ~ 3> 3.4.5-0