簡體   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