Dépendances non installées dans Visual Studio

Je suis en train de mettre à niveau mon ASP.Net RC1 vers ASP.Net Core RC2. L’explorateur de solutions de Visual Studio me signale le message “Dépendances – non installé” avec le sous-dossier “npm – non installé”.

Cependant, les dépendances semblent être installées – j’ai exécuté ‘npm install’ dans le répertoire du projet et tout s’est bien déroulé sans erreur, juste quelques avertissements. Il a ajouté les dossiers de dépendance dans un dossier parent appelé module-nœud, que je peux voir clairement dans l’Explorateur Windows. Le dossier node-modules contient les dossiers angular2, bootstrap, copy-webpack-plugin, etc.

Est-ce que quelqu’un sait pourquoi Visual Studio me dit qu’ils ne sont pas installés? J’ai également essayé d’exécuter l’installation de npm à partir de la console de Package Manager et de cliquer avec le bouton droit de la souris sur -> restaurer les packages dans ces dossiers pour m’en avertir dans l’explorateur de solutions.

entrez la description de l'image ici

Voici mon fichier package.json:

{ "name": "EmptyWebApp", "version": "0.0.0", "dependencies": { "angular2": "2.0.0-beta.13", "bootstrap": "^3.3.5", "es6-promise": "^3.0.2", "es6-shim": "^0.35.0", "reflect-metadata": "0.1.2", "jquery": "^2.1.4", "less": "^2.5.3", "lodash": "^3.10.1", "rxjs": "5.0.0-beta.2", "systemjs": "0.19.22", "ts-loader": "^0.7.2", "zone.js": "0.6.6" }, "devDependencies": { "del": "^2.0.2", "event-stream": "^3.3.1", "copy-webpack-plugin": "^0.3.3", "css-loader": "^0.23.0", "exports-loader": "0.6.2", "expose-loader": "^0.7.1", "file-loader": "^0.8.4", "gulp": "^3.9.0", "html-webpack-plugin": "^1.7.0", "http-server": "^0.8.5", "imports-loader": "^0.6.4", "istanbul-instrumenter-loader": "^0.1.3", "json-loader": "^0.5.3", "nodemon": "^1.8.1", "phantomjs": "^1.9.18", "phantomjs-polyfill": "0.0.1", "protractor": "^3.0.0", "raw-loader": "0.5.1", "reflect-metadata": "0.1.2", "remap-istanbul": "^0.5.1", "rimraf": "^2.4.4", "style-loader": "^0.13.0", "ts-helper": "0.0.1", "ts-loader": "^0.7.2", "tsconfig-lint": "^0.4.3", "tslint": "^3.2.0", "tslint-loader": "^2.1.0", "typedoc": "^0.3.12", "typescript": "1.8.9", "typings": "^0.6.1", "url-loader": "^0.5.6", "webpack": "^1.12.9", "webpack-dev-server": "^1.12.1", "webpack-md5-hash": "0.0.4" }, "scripts": { "tsc": "tsc -p . -w", "start": "nodemon --ignore htm,html --ext cs,js --exec \"dnx web\" -V", "static": "nodemon --watch ./client --ext html,css --exec \"gulp deploy-client\" -V", "pre-build": "gulp deploy-client", "webpack": "webpack", "webpack-watch": "webpack --watch", "clean": "gulp cleanwww", "build": "npm run pre-build && npm run webpack", "dnx": "dnx web" } } 

Je pense que cela est connu problème avec RC2 signalé dans asp github

https://github.com/aspnet/Tooling/issues/479

Je pense que la fonctionnalité devrait fonctionner mais que le message est faux, nous devons probablement attendre jusqu’à ce qu’ils résolvent le problème.

Cela pose toujours un problème dans Visual Studio Community 2015, édition Update 3 lors de la création d’une ASP.NET Core Web Application (.NET Framework 4.5.2) à l’aide du Empty ASP.NET Core Template . Il semble que cela fonctionne correctement lors de la création du projet à l’aide du modèle d’application Web ASP.NET Core.

Comme l’opération l’a mentionné, le message est trompeur puisque les dépendances sont installées. Il semble s’agir simplement d’une erreur de rapport de Visual Studio selon laquelle le npm et les dépendances ne sont pas installés. Le correctif temporaire consiste à remplacer l’emplacement où Visual Studio recherche node.js, ce qui supprime les messages not installed dans Visual Studio.

Dans Visual Studio, sélectionnez Tools > Options > Projects and Solutions > External Web Tools et ajoutez un chemin d’access à votre installation de node.js. C’est par défaut l’emplacement C:\Program Files\nodejs\ ou C:\Program Files (x86)\nodejs\ Déplacez cette nouvelle ligne vers le haut ou au moins au-dessus de la ligne $ (VSINSTALLDIR) \ Web \ External.

entrez la description de l'image ici

Restaurez vos paquets et le message d’erreur devrait disparaître.

entrez la description de l'image ici

Cela semble être dû au fait que NPM génère un avertissement concernant un composant qui ne peut pas être installé, tel qu’un composant OSX si vous êtes sur Windows. VS interprète cela comme un échec, alors que ce n’est vraiment pas le cas. Plus de détails ici.

J’ai eu le même problème et suite à la réponse actuelle avec le vote le plus élevé en ajoutant C:\Program Files\Nodejs à mes chemins des outils Web externes n’a rien fait . Même changer l’ordre des chemins n’a pas aidé.

 >npm - v 4.2.0 >node - v v6.10.0 

Techniquement, vous pouvez développer votre arborescence de dépendances dans Visual Studio pour trouver le problème, mais il est plus facile de simplement lancer la npm list et de trouver le problème.

problem_child

Donc, puisque fsevents était le coupable et qu’il s’agissait d’une dépendance optionnelle (elle n’est pas utilisée lors de l’exécution de node avec visual studio sur une architecture Windows), j’ai localisé les modules qui comportaient des fsevents en tant que dépendance optionnelle.

Pour moi, c’était le module ckokidar , mais il était situé à deux endroits.

MYPROJECT \ node_modules \ chokidar

et aussi dans

MYPROJECT \ node_modules \ browser-sync \ node_modules \ chokidar

Je soupçonne que si vous avez gulp-watch comme dépendance, cela pourrait également être le cas.

Donc, ce que j’ai fait est pour chacun de ces dossiers, j’ai ouvert le fichier project.json et supprimé toute trace de fevents dans ceux-ci.

 "dependencies": { .... "async-each": "^1.0.0", <-- also remember to remove the trailing ',' comma for the end "fsevents": "^1.0.0" <-- remove this } 

et

 "keywords": [ ... "file", <-- remove comma "fsevents" <-- remove ], 

et enlever complètement

 "optionalDependencies": { "fsevents": "^1.0.0" }, 

Ne laissez pas de virgule dans les fichiers, sinon vous obtiendrez une erreur de la part de npm.

Enfin, cliquez avec le bouton droit de la souris dans Visual Studio sur les dépendances et exécutez Restore Packages . Vous devriez maintenant être libre d'avertissement! Prendre plaisir.

résultat

J’ai supprimé chaque élément du fichier package.json jusqu’à ce que l’erreur cesse d’apparaître. Dans mon cas, l’erreur a été causée par

“grunt-ts”: “5.5.1”

Ouvrez package.json et commencez à supprimer les packages un par un jusqu’à ce que l’avertissement disparaisse.

entrez la description de l'image ici

Après la suppression de "webpack": "^1.12.14", dans package.json, je ne reçois plus l’avertissement.

entrez la description de l'image ici

Il vous suffit de copier et coller le dossier node-modules du dossier nodejs dans votre visual studio, le dossier racine du projet, puis de cliquer avec le bouton droit de la souris et de restaurer les packages dans VS. Cela fera l’affaire!

J’ai suivi les conseils de David Glass, même s’il semblait toujours que j’avais un problème. J’ai mis à jour mon fichier package.json afin que les devDependencies correspondent aux dépendances, puis l’avertissement a disparu.

Mon problème était l’un des paquets qui arrêtait le chargement de tous les autres paquets. La meilleure façon de voir si tous vos paquets fonctionnent est de démarrer l’interface de ligne de commande “CMD” et d’accéder à votre projet -> Type:

npm install

et vous verrez si tous vos paquets passent par l’installation sans problèmes.

Le paquet que j’ai eu des problèmes avec le

Webpack “Webpack”: “^ 1:12:14”

Je devais le désinstaller avec l’ outil d’installation de package . Juste un clic droit et désinstaller le paquet. L’erreur des dépendances NodeJS a disparu immédiatement après.

Réinstallez à partir de la CLI par:

npm install packagename

J’espère que cela pourra aider 🙂

Type de projet: ASP.NET Core (.NET)

Cela peut également se produire si une dépendance de script dont l’installation a échoué a échoué. La fenêtre VS Output affichera l’erreur correspondante.

Dans mon cas, c’était jqueryui-amd:

remote: référentiel introuvable. fatal: référentiel ‘ https://github.com/jrburke/jqueryui-amd.git/ ‘ introuvable

Supprimez la dépendance défaillante et cliquez avec le bouton droit de la souris sur “Dépendances” dans le chemin de base de la solution, puis choisissez

 Restore packages