2017-01-17 7 views
1

От thoughtbot:Twiddle вакка семантического версий

~> 1,1 означает, что при расслоении установки, вы получите самую высокую выпустили версию гема тонких между диапазоном> = 1,1 и 2,0 <

~> 3.0.3 означает, что при расслоении установки, вы получите самую высокую выпустили версию гема рельсов между диапазоном> = 3.0.3 и < 3,1

от semver 2.0:

Given a version number MAJOR.MINOR.PATCH, increment the: 

MAJOR version when you make incompatible API changes, 
MINOR version when you add functionality in a backwards-compatible manner, and 
PATCH version when you make backwards-compatible bug fixes. 

Так тогда ~>0.1.0 вас от 1.0.0 > x >= 0.1.0?

Также есть v1.0.0, о чем люди говорят, когда говорят, что они работают, чтобы «получить версию one point oh» в дверь? Даже когда есть два нуля после 1.

ответ

1

В основном с twiddle-waka (~>) может измениться только последняя цифра.

~> 0.1.0 не будет считать вас к чему-либо за пределами 0.1.x, следовательно, не 1.0.0, даже не 0.2.0.

На мой взгляд, для указания версии, следующей за семестровыми намерениями, можно было бы указать малый twiddle-waka, например. ~> 0.2. Таким образом, вы получаете функциональные обновления (до 0.3(.x), 0.4(.x), 0.x.y, даже 0.10.99!), Но не обратные изменения (до 1.0 или 1.0.x).

И если вы хотите, чтобы иметь возможность MAJOR изменения, так, чтобы перейти от 1.0 к 2.0 и 9.0 на той же спецификации, то я предполагаю, что вы на самом деле не имеют спецификации версии! ; o)

Это говорит о том, что некоторые драгоценные камни, которые являются более фундаментальными/центральными для вашего проекта, вероятно, получат более пристальное внимание с уровнем исправления ~>, например. ~> 4.2.17. (Это стратегия, которую я использую, например, с Rails в проекте Rails.) В принципе, все, что сделало бы обновление/повышение не-тривиальным.

(да, упоминая "один пункт о" включает в себя 1.0.0, 1.0.1 и так далее)

+0

так '~> 0.1' будет считать вас потенциально вплоть до' 0.9.99' и '~> 1.0' будет принимать вы потенциально до 9.99.99'? – mbigras

+1

'~> 0.1' соответствует' 0.9.99', да. '~> 1.0' соответствует' 1.9.99', но ничего кроме '2.0', следовательно, не' 9.9.x'. Если «MAJOR» может измениться, тогда, я думаю, у вас нет спецификации версии; o) –