繁体   English   中英

Visual Studio中未安装依赖项

[英]Dependencies not installed in Visual Studio

我目前正在将ASP.Net RC1升级到ASP.Net Core RC2。 Visual Studio中的解决方案资源管理器通过子文件夹“npm - not installed”向我发出“Dependencies - not installed”的警告。

但是,似乎安装了依赖项 - 我在项目目录中运行'npm install'并且运行正常,没有任何错误,只是一些警告。 它将依赖项文件夹添加到名为node-modules的父文件夹中,我可以在Windows资源管理器中清楚地看到它。 node-modules文件夹包含angular2,bootstrap,copy-webpack-plugin等文件夹。

有谁知道为什么Visual Studio告诉我他们没有安装? 我还尝试从Package Manager Console运行npm install,并在这些文件夹上执行“右键单击 - >还原包”,在解决方案资源管理器中给出警告。

在此输入图像描述

这是我的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"
  }
}

在使用Empty ASP.NET Core Template创建ASP.NET Core Web Application (.NET Framework 4.5.2)时,这仍然是Visual Studio Community 2015,Update 3版本中的一个问题。 使用ASP.NET Core Web应用程序模板创建项目时,它似乎正常运行。

正如操作中提到的那样,由于安装了依赖项,因此该消息具有误导性。 Visual Studio似乎只是误报了npm和依赖项没有安装。 临时修复是覆盖Visual Studio正在寻找node.js的位置,这将删除visual studio中not installed消息。

在Visual Studio中,转到“ Tools > Options > Projects and Solutions > External Web Tools然后添加node.js安装的路径。 默认位于C:\\Program Files\\nodejs\\C:\\Program Files (x86)\\nodejs\\将此新行移至顶部或至少高于$(VSINSTALLDIR)\\ Web \\ External行。

在此输入图像描述

恢复您的包,错误消息应该消失。

在此输入图像描述

我认为这是在asp github上报道的RC2的已知问题

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

我认为功能应该可行,但消息是错误的,所以我们可能需要等到他们解决问题。

这似乎是由于NPM对无法安装的组件发出警告,例如OSX组件(如果您在Windows上)。 VS将其解释为失败,而实际上并非如此。 更多细节在这里。

我遇到了同样的问题,并通过将C:\\Program Files\\Nodejs到我的外部Web工具路径而遵循当前最高投票答案没有做任何事情 即使改变路径的顺序也无济于事。

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

从技术上讲,您可以在visual studio中扩展依赖关系树以最终找到问题,但是,更容易运行npm list并找到问题子项。

问题少年

因为fsevents是罪魁祸首,它是一个可选的依赖项(在Windows体系结构上使用visual studio运行节点时不使用它),我将具有fsevents的模块定位为可选依赖项。

对我来说它是ckokidar模块,但它位于两个地方。

MYPROJECT \\ node_modules \\ chokidar

还有

MYPROJECT \\ node_modules \\浏览器同步\\ node_modules \\ chokidar

我怀疑你是否有gulp-watch作为依赖,它也可能存在。

所以我做的是每个文件夹,我打开了project.json文件并删除了其中的任何fsevents轨道。

"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收到错误。

最后,右键单击Dependencies上的Visual Studio并运行Restore Packages 你现在应该免费警告! 请享用。

结果

我从package.json文件中删除了每个项目,直到错误停止出现。 在我的情况下,错误是由

“grunt-ts”:“5.5.1”

打开package.json并开始逐个删除软件包,直到警告消失。

在此输入图像描述

从package.json删除"webpack": "^1.12.14",后,我不再收到警告

在此输入图像描述

只需将node-modules文件夹中的node-modules文件夹复制并粘贴到visual studio,项目根文件夹,然后右键单击并恢复VS中的软件包即可。 那就行了!

我遵循大卫玻璃的建议,虽然看起来我仍然有问题。 我更新了我的package.json文件,以便devDependencies与依赖项匹配,然后警告就消失了。

项目类型:ASP.NET Core(.NET)

如果您的脚本依赖项无法安装,也会发生这种情况。 VS Output窗口将显示相应的错误。

在我的情况下,这是jqueryui-amd:

remote:找不到存储库。 致命:未找到存储库' https://github.com/jrburke/jqueryui-amd.git/ '

删除失败的依赖关系,右键单击解决方案基本路径中的Dependencies“folder”,然后选择

Restore packages

我的问题是阻止所有其他软件包加载的软件包之一,这是查看所有软件包是否可以启动命令行界面“CMD”并导航到项目的最佳方法 - >类型:

npm install

并且您将看到所有数据包是否都没有问题地通过安装。

包裹我遇到了问题

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

我不得不使用Package Installer工具卸载它。 只需右键单击并卸载包。 NodeJS依赖关系错误之后立即消失。

通过以下方式从CLI重新安装:

npm install packagename

希望有所帮助:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM