[swift-evolution] [Review] SE-0145: Package Manager Version Pinning

Boris Buegling bbuegling at apple.com
Fri Nov 4 11:20:18 CDT 2016


> On 4 Nov 2016, at 17:06, Paul Cantrell via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> Overconstraint is much more of a risk in Swift than in other languages using this style of package management.
> 
> …is incorrect.
> 
> In particular, note that Ruby does not support using multiple versions of a lib simultaneously, and that fact alone — even in the presence of _ubiquitous_ version pinning — has been sufficient to encourage widespread mindfulness about semver compliance. All of the concerns expressed in the “Pin by default” section of the proposal also apply to Ruby, and have failed to materialize there.

Note that this only partially true. It is strongly recommended to not check in your Gemfile.lock when developing a gem (see http://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/), but only when you’re developing an app. This means that pinning by default is effectively not performed when doing library development in the Ruby ecosystem.

Cheers,
Boris


More information about the swift-evolution mailing list