it-swarm.com.ru

Зависимости не установлены в Visual Studio

В настоящее время я обновляю свой ASP.Net RC1 до ASP.Net Core RC2. Обозреватель решений в Visual Studio выдает предупреждение «Зависимости - не установлены» с подпапкой «npm - не установлен». 

Тем не менее, кажется, что зависимости установлены - я запустил 'npm install' в каталоге проекта, и он работал нормально, без каких-либо ошибок, только с некоторыми предупреждениями. Он добавил папки зависимостей в родительскую папку, называемую node-modules, которую я отчетливо вижу в Windows Explorer. Папка node-modules содержит папки для angular2, bootstrap, copy-webpack-plugin и т.д. 

Кто-нибудь знает, почему Visual Studio говорит мне, что они не установлены? Я также попытался запустить установку npm из консоли диспетчера пакетов и выполнить «щелчок правой кнопкой мыши -> восстановить пакеты» в этих папках, что выдает предупреждение в обозревателе решений. 

 enter image description here

Вот мой файл 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"
  }
}
23
Roka545

Я думаю, что это известная проблема с RC2, о которой сообщалось в asp github.

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

Я думаю, что функциональность должна работать, но сообщение неверно, поэтому Вероятно, нам нужно подождать, пока они не решат проблему.

9
Krzysztof

Это по-прежнему проблема в Visual Studio Community 2015, выпуск 3, выпуск при создании ASP.NET Core Web Application (.NET Framework 4.5.2) с использованием Empty ASP.NET Core Template. Похоже, что он работает правильно при создании проекта с использованием базового шаблона веб-приложения ASP.NET. 

Как упоминалось в сообщении, сообщение вводит в заблуждение, поскольку зависимости установлены. Кажется, Visual Studio просто сообщает, что npm и зависимости не установлены. Временное исправление - переопределить, когда Visual Studio ищет файл node.js, который удаляет сообщения not installed в Visual Studio. 

В Visual Studio перейдите к Tools > Options > Projects and Solutions > External Web Tools и добавьте путь к вашей установке node.js. По умолчанию он находится по адресу C:\Program Files\nodejs\ или C:\Program Files (x86)\nodejs\. Переместите эту новую строку вверх или, по крайней мере, над строкой $ (VSINSTALLDIR)\Web\External. 

 enter image description here

Восстановите ваши пакеты, и сообщение об ошибке должно исчезнуть.

 enter image description here

43
David Glass

По-видимому, это связано с тем, что NPM выдает предупреждение о компоненте, который не может быть установлен, например компоненте OSX, если вы работаете в Windows. VS интерпретирует это как провал, когда на самом деле это не . Подробнее здесь.

7
Randy Gamage

У меня была та же проблема, и, следуя текущему ответу с наибольшим количеством голосов, добавив C:\Program Files\Nodejs в мои пути к внешним веб-инструментам , я ничего не сделал. Даже изменение порядка путей не помогло.

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

Технически вы можете развернуть свое дерево зависимостей в Visual Studio, чтобы в конечном итоге найти проблему, однако проще просто запустить npm list и найти проблемного потомка.

 problem_child

Так как fsevents был виновником, и это была необязательная зависимость (она не использовалась при запуске узла с Visual Studio в архитектуре Windows), я нашел модули, которые имели fsevents, как необязательную зависимость.

Для меня это был модуль ckokidar, однако он был расположен в двух местах. 

MyProject\node_modules\сторож

а также в 

MyProject\node_modules\браузер синхронизации\node_modules\сторож

Я подозреваю, что если у вас есть gulp-watch как зависимость, она также может быть там.

Итак, что я сделал для каждой из этих папок, я открыл файл project.json и удалил любую дорожку в них.

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

а также

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

и удалите это полностью

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

Не оставляйте запятые в любом из файлов, иначе вы получите сообщение об ошибке от npm.

Наконец, щелкните правой кнопкой мыши в Visual Studio на Зависимости и запустите Restore Packages. Теперь вы должны быть предупреждены бесплатно! Наслаждаться.

 result

4
Nick De Beer

Я удаляю каждый элемент из файла package.json, пока ошибка не перестанет появляться. В моем случае ошибка была вызвана

 "grunt-ts": "5.5.1"

2
Nigel Findlater

Откройте package.json и начните удалять пакеты по одному, пока предупреждение не исчезнет.

 enter image description here

После удаления "webpack": "^1.12.14", из package.json я больше не получаю предупреждение

 enter image description here

1
VK_217

Просто скопируйте и вставьте папку node-modules из папки nodejs в вашу Visual Studio, корневую папку проекта, и щелкните правой кнопкой мыши и восстановите пакеты внутри VS. Это сделает свое дело!

0
samze

Я последовал совету Дэвида Гласса, хотя казалось, что у меня есть проблема. Я обновил свой файл package.json, чтобы devDependencies соответствовал зависимостям, и затем предупреждение исчезло.

0
Edmund Covington

Моя проблема заключалась в том, что один из пакетов остановил загрузку всех других пакетов. Лучший способ проверить, все ли работающие пакеты - запустить интерфейс командной строки «CMD» и перейти к вашему проекту -> Тип: 

npm install

и вы увидите, все ли ваши пакеты проходят установку без проблем.

Пакет у меня были проблемы с 

Веб-пакет "Веб-пакет": "^ 1:12:14"

Мне пришлось удалить его с помощью Package Installer tool . Просто щелкните правой кнопкой мыши и удалите пакет . Ошибка зависимостей NodeJS сразу исчезнет.

Переустановите из CLI:

npm установить имя_пакета

Надеюсь, это поможет :-)

0
Eagle_one

Тип проекта: ASP.NET Core (.NET)

Это также может произойти, если у вас есть зависимость от сценария, которую не удалось установить .... В окне вывода VS появится соответствующая ошибка.

В моем случае это был jqueryui-AMD:

удаленный: хранилище не найдено. неустранимый: хранилище ' https://github.com/jrburke/jqueryui-AMD.git/ ' не найдено

Удалите ошибочную зависимость и щелкните правой кнопкой мыши «папку» Зависимости в базовом пути решения и выберите 

Restore packages
0
Legends