web-dev-qa-db-ja.com

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がインストールされていないと言っている理由を知っている人はいますか?また、パッケージマネージャーコンソールから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

これはasp githubで報告されたRC2の既知の問題だと思います

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

機能は動作するはずですが、メッセージが間違っているため、問題が解決するまで待つ必要があります。

9
Krzysztof

これは、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アプリケーションテンプレートを使用してプロジェクトを作成すると、正しく機能するように見えます。

Opで述べたように、依存関係がインストールされているため、このメッセージは誤解を招くものです。 npmと依存関係がインストールされていないというVisual Studioによる単なる誤報のようです。一時的な修正は、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行の上に移動します。

enter image description here

パッケージを復元すると、エラーメッセージが消えます。

enter image description here

43
David Glass

これは、Windowsを使用している場合のOSXコンポーネントなど、インストールできないコンポーネントに関する警告がNPMによって生成されるためです。 VSは、実際にはそうではないが、これを失敗と解釈します。 詳細はこちら

8
Randy Gamage

私は同じ問題を抱えており、C:\Program Files\Nodejs私の外部Webツールのパスは何もしませんでした。パスの順序を変更しても解決しませんでした。

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

技術的には、Visual Studioで依存関係ツリーを展開して最終的に問題を見つけることができますが、実行するのは簡単ですnpm listそして問題のある子を見つけます。

problem_child

fseventsが犯人であり、オプションの依存関係(Windowsアーキテクチャ上のVisual Studioでノードを実行する場合は使用されない)であるため、fseventsを持つモジュールをオプションの依存関係として見つけました。

私にとってはckokidarモジュールでしたが、2つの場所にありました。

MYPROJECT\node_modules\chokidar

そしてまた

MYPROJECT\node_modules\browser-sync\node_modules\chokidar

gulp-watchが依存関係としてある場合は、依存関係があるかもしれません。

そのため、これらのフォルダーのそれぞれに対して、project.jsonファイルを作成し、それらのfseventのトラックを削除しました。

"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を開き、警告がなくなるまでパッケージを1つずつ削除し始めます。

enter image description here

Package.jsonから"webpack": "^1.12.14",を削除した後、警告が表示されなくなりました

enter image description here

1
VK_217

Node-modulesフォルダーをnodejsフォルダーからVisual Studio、プロジェクトルートフォルダーにコピーして貼り付け、VS内のパッケージを右クリックして復元します。これでうまくいきます!

0
samze

David Glassのアドバイスに従いましたが、まだ問題があるように見えました。 package.jsonファイルを更新して、devDependenciesが依存関係と一致し、警告が消えるようにしました。

0

私の問題は、他のすべてのパッケージの読み込みを停止したパッケージの1つでした。動作するすべてのパッケージを確認する最善の方法は、コマンドラインインターフェイス「CMD」を起動してプロジェクトに移動する->タイプ:

npm install

すべてのパケットが問題なくインストールを通過するかどうかがわかります。

私が問題を抱えたパッケージ

Webpack "Webpack": "^ 1:12:14"

Package Installer tool でアンインストールする必要がありました。パッケージを右クリックしてアンインストールするだけです。 NodeJS依存関係エラーはすぐに消えました。

次の方法でCLIから再インストールします。

npm install packagename

それが役立つことを願っています:-)

0
Eagle_one

プロジェクトの種類:ASP.NET Core(.NET)

これは、インストールに失敗したスクリプト依存関係がある場合にも発生する可能性があります。 VS出力ウィンドウにそれぞれのエラーが表示されます。

私の場合、これはjqueryui-AMDでした:

リモート:リポジトリが見つかりません。致命的:リポジトリ ' https://github.com/jrburke/jqueryui-AMD.git/ 'が見つかりません

失敗した依存関係を削除し、ソリューションのベースパスで依存関係の「フォルダー」を右クリックして選択します

Restore packages
0
Legends