現在、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インストールを実行し、それらのフォルダーで「右クリック->パッケージの復元」を実行して、ソリューションエクスプローラーで警告を表示しようとしました。
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"
}
}
これはasp githubで報告されたRC2の既知の問題だと思います
https://github.com/aspnet/Tooling/issues/479
機能は動作するはずですが、メッセージが間違っているため、問題が解決するまで待つ必要があります。
これは、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行の上に移動します。
パッケージを復元すると、エラーメッセージが消えます。
これは、Windowsを使用している場合のOSXコンポーネントなど、インストールできないコンポーネントに関する警告がNPMによって生成されるためです。 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
モジュールでしたが、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
。これで警告が表示されなくなります!楽しい。
エラーが表示されなくなるまで、package.jsonファイルから各アイテムを削除しました。私の場合、エラーの原因は
「grunt-ts」:「5.5.1」
Node-modulesフォルダーをnodejsフォルダーからVisual Studio、プロジェクトルートフォルダーにコピーして貼り付け、VS内のパッケージを右クリックして復元します。これでうまくいきます!
David Glassのアドバイスに従いましたが、まだ問題があるように見えました。 package.jsonファイルを更新して、devDependenciesが依存関係と一致し、警告が消えるようにしました。
私の問題は、他のすべてのパッケージの読み込みを停止したパッケージの1つでした。動作するすべてのパッケージを確認する最善の方法は、コマンドラインインターフェイス「CMD」を起動してプロジェクトに移動する->タイプ:
npm install
すべてのパケットが問題なくインストールを通過するかどうかがわかります。
私が問題を抱えたパッケージ
Webpack "Webpack": "^ 1:12:14"
Package Installer tool でアンインストールする必要がありました。パッケージを右クリックしてアンインストールするだけです。 NodeJS依存関係エラーはすぐに消えました。
次の方法でCLIから再インストールします。
npm install packagename
それが役立つことを願っています:-)
プロジェクトの種類:ASP.NET Core(.NET)
これは、インストールに失敗したスクリプト依存関係がある場合にも発生する可能性があります。 VS出力ウィンドウにそれぞれのエラーが表示されます。
私の場合、これはjqueryui-AMDでした:
リモート:リポジトリが見つかりません。致命的:リポジトリ ' https://github.com/jrburke/jqueryui-AMD.git/ 'が見つかりません
失敗した依存関係を削除し、ソリューションのベースパスで依存関係の「フォルダー」を右クリックして選択します
Restore packages