86 votes

Puis-je conserver Nuget sur le chemin jQuery 1.9.x / 1.x (au lieu de passer à la version 2.x)?

Comme la plupart des gens, je suis en utilisant le jQuery de package Nuget pour le tenir à jour.

Cependant, avec la version de jQuery 2.0 maintenant, je suis invité à mettre à jour jQuery 1.9.1 vers la 2.0. En ce moment j'ai assez de visiteurs sur mes sites en utilisant les anciennes versions de navigateurs que je préfère rester avec 1.9.x et jQuery Migrate.

Est-il de toute façon de dire Nuget à coller avec une version particulière (1.9.x) lors de la vérification des mises à jour d'un paquet (jQuery ou autre)?

Je suis l'aide de Visual Studio 2010/2012 extensions, mais si j'ai besoin d'utiliser l'interface de ligne de commande à l'intérieur de VS pour contourner ce problème, je ne vais certainement.

Remarque: Une chose dans le dos de mon esprit, c'est qu'ils l'ont foiré la mise à jour. Depuis jQuery 1.9.x et 2.0.x/2.x sont assez différents, il semble qu'ils devraient avoir créé un jQuery 2(.0.x|.x) à la place.

Bien sûr, les gens qui veulent réellement mise à jour 2.x aura le savoir et faire basculer le forfait qu'ils veulent installé. Mais étant donné qu'il contient des modifications importantes, peut-être que c'est mieux?

117voto

Dave R. Points 4621

À mon avis, c'est une erreur sur l'emballage de l'auteur de la partie. Une mise à jour qui supprime la prise en charge par plusieurs navigateurs devraient avoir été séparée en une version 2 de package nuget et de la publicité en conséquence, c'est à dire avec d'importantes exclusion de responsabilité. Le 1.9 de la bibliothèque n'est pas de l'héritage et de recevoir de nouvelles mises à jour à l'avenir. J'ai été en contact avec l'auteur du package et écrire de plus si je reçois une réponse.

Dans l'intervalle, vous pouvez limiter la version de votre package à l'aide de la syntaxe suivante dans votre packages.config:

<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1]" />

Il n'y a plus d'informations sur la version contraintes ici:

http://docs.nuget.org/docs/reference/Versioning

Après avoir fait la config changement, une mise à jour ne devrait pas mettre à niveau votre jQuery package de la version 2.0. Il y a eu des problèmes dans le passé avec l'INTERFACE du gestionnaire de package ne respectant pas l' allowedVersions d'attribut (https://nuget.codeplex.com/workitem/1891), de sorte que vous pourriez avoir à utiliser la ligne de commande si vous rencontrez ce problème.

Cependant, rien de tout cela résout le problème de ce qui se passe quand la 1.9 branche est mis à jour parce que l'alimentation de paquet sera désormais sur la 2.0+ piste. Je suppose que vous aurez à passer à un nouveau package nuget spécialement écrit à l'appui de l'héritage' 1.x version, ou de copier le script manuellement à chaque fois.

En tout cas, je vais mettre à jour ce quand j'en apprendre plus.

Edit:

L'auteur du package a déclaré que les deux 1.x et 2.x les chemins seront pris en charge dans l'avenir, c'est à dire l'alimentation de paquet contiendra des versions parallèles au lieu de les diviser. Aussi loin que je peux voir, la solution est d'utiliser une version contrainte au forfait config niveau afin d'éviter une mise à jour de la 2.x version, par exemple:

<package id="jQuery" version="1.9.1" allowedVersions="[1.9.1,2)" />

(En précisant min et max des versions en allowedVersions devrait permettre la mise à jour sans risquer de passer à la 2.x version. Par ailleurs, la parenthèse droite semble étrange, mais est - il correct, cela signifie moins de la version 2'.)

19voto

TeYoU Points 410

que diriez-vous de spécifier la version?

PM> Install-Package jQuery - Version 1.9.1

Références: http://nuget.org/packages/jQuery/1.9.1

8voto

Chris J Points 12904

Nuget a maintenant un paquet jquery1 qui ne fait que suivre la branche 1.x, vous devriez donc pouvoir échanger le paquet principal jQuery pour celui-ci.

4voto

jmacboy Points 120

J'ai combiné les deux solutions du haut pour @TeYoU

J'ai d'abord installé le paquet à partir de la console du gestionnaire de paquets:

Menu Outils -> Gestionnaire de packages de bibliothèque -> Console du gestionnaire de packages

 PM> Install-Package jQuery -Version 1.9.1
 

Ensuite, j'ai édité le packages.config comme suit: @Dave R.:

 <package id="jQuery" version="1.9.1" allowedVersions="[1.9.1,2)" />
 

Ensuite, j'ai mis à jour la version actuelle, actuellement 1.10.2 en utilisant Nuget Manager, et cela a fonctionné à merveille.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X