2016-08-29 1 views

Antwort

2

>= 3.1.11 eine „optimistische“ -Version Einschränkung ist. Es wird gesagt, dass alle Änderungen von 3.1.11 auf funktionieren, aber für Version 4.0.0 wird dies nicht wahr sein.

~> 3.1 ist "pessimistisch". Dies schließt explizit die Version aus, die den Code beschädigen könnte. Es sagt grundsätzlich >= 3.1 und < 4.0. Aber wenn Sie ~> 3.1.1 hatte, wird es gleich sein >= 3.1.1 aber weniger als 3.2

Wenn Sie Verwendung von neueren rückwärtskompatible Versionen zulassen möchten, müssen aber einen bestimmten Bug-Fix Sie eine Verbindung Anforderung wie '~> 3.1', '>= 3.1.11' verwenden, kann dieses an ist detailliert http://guides.rubygems.org/patterns/#pessimistic-version-constraintWenn Sie die Verwendung von neueren abwärtskompatiblen Versionen zulassen möchten, aber einen spezifischen Bugfix benötigen, können Sie eine zusammengesetzte Anforderung wie ... '~> 2.2', '>= 2.2.1'

verwenden
3

'~> 3.1' bedeutet die erforderliche Version 3.1.x oder 3.2.x oder 3.3.x oder ... sein kann, aber nie 4.0 zu erreichen.

Die Bedeutung von '>= 3.1.11' ist ziemlich klar.

Also fügen Sie sie zusammen, es bedeutet, dass die Version 3.x.yx >= 2 oder x = 1 and y >= 11 sein kann.

Vielleicht ist diese Schreibweise mehr klar:

gem 'bcrypt', '>= 3.1.11', '< 4' 
Verwandte Themen