Angulaire Aucun module d'usine disponibles pour le type de dépendance: ContextElementDependency
De course ng build
sur mon Angulaire 4 projet donne cette erreur :
14% building modules 40/46 modules 6 active ...es\@angular\http\@angular\http.es5.js
An error occured during the build:
Error: No module factory available for dependency type: ContextElementDependency
at Compilation.addModuleDependencies (D:\dev\workspace\rep\node_modules\@angular\cli\node_modules\webpack\lib\Compilation.js:213:21)
at Compilation.processModuleDependencies (D:\dev\workspace\rep\node_modules\@angular\cli\node_modules\webpack\lib\Compilation.js:202:8)
at _this.buildModule.err (D:\dev\workspace\rep\node_modules\@angular\cli\node_modules\webpack\lib\Compilation.js:350:14)
at building.forEach.cb (D:\dev\workspace\rep\node_modules\@angular\cli\node_modules\webpack\lib\Compilation.js:147:27)
at Array.forEach (native)
at callback
J'ai lu de nombreuses questions/réponses sur github & stackoverflow sur cette question, mais non d'entre eux m'a aidé.
Que les réponses suggérées, j'ai enlevé webpack mais cela n'a pas aidé. Retiré node_modules, retiré webpack de colis.json, exécutez npm install
, n'a toujours pas aider. Nettoyer le cache de la ngp, retiré webpack de colis.json, exécutez npm install
, toujours pas de résultat. Et bien d'autres suggestions n'ont pas les aider.
Quand j'enlève webpack de colis.json et exécuter npm install
- je obtenir suivantes:
Cannot find module 'webpack/lib/node/NodeTemplatePlugin' Error: Cannot
find module 'webpack/lib/node/NodeTemplatePlugin'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (D:\dev\workspace\rep\node_modules\html-webpack-plugin\lib\compiler.js:11:26)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (D:\dev\workspace\rep\node_modules\html-webpack-plugin\index.js:7:21)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
Lors du retour de webpack de package.json , exécutez npm install
puis exécutez npm list webpack
j'ai le résultat suivant:
+-- @angular/[email protected]
| `-- [email protected]
`-- [email protected]
Ici est forfait.json du projet:
{
"name": "somename",
"version": "1.0.0",
"description": "",
"author": "",
"url": "",
"copyright": "somec",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/common": "^4.4.5",
"@angular/compiler": "^4.4.5",
"@angular/core": "^4.4.5",
"@angular/forms": "^4.4.5",
"@angular/http": "^4.4.5",
"@angular/platform-browser": "^4.4.5",
"@angular/platform-browser-dynamic": "^4.4.5",
"@angular/router": "^4.4.5",
"@angular/upgrade": "^4.4.5",
"amazon-cognito-identity-js": "^1.21.0",
"chart.js": "2.7.0",
"core-js": "2.5.1",
"font-awesome": "^4.7.0",
"jquery": "^3.2.1",
"moment": "2.18.1",
"ng2-charts": "1.6.0",
"ngx-bootstrap": "1.9.3",
"raw-loader": "^0.5.1",
"rxjs": "5.4.3",
"simple-line-icons": "^2.4.1",
"ts-helpers": "1.1.2",
"zone.js": "0.8.17"
},
"devDependencies": {
"@angular/cli": "^1.4.7",
"@angular/compiler-cli": "^4.4.5",
"@types/jasmine": "2.6.0",
"@types/jquery": "^3.2.13",
"@types/node": "8.0.28",
"codelyzer": "3.2.0",
"jasmine-core": "2.8.0",
"jasmine-spec-reporter": "4.2.1",
"karma": "1.7.1",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "1.3.0",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "0.2.2",
"node-sass": "^4.5.3",
"postcss-loader": "^2.0.6",
"protractor": "5.1.2",
"sass-loader": "^6.0.6",
"ts-node": "3.3.0",
"tslint": "5.7.0",
"typescript": "2.5.2",
"webpack": "^3.6.0"
},
"engines": {
"node": ">= 6.9.0",
"npm": ">= 3.0.0"
}
}
Quand j'ai un clone repo sur une autre machine , exécutez npm install
et puis ng build
c'est correct, fonctionne très bien, mais sur le mien, il donne cette erreur. J'ai essayé d'enlever complètement le repo de ma machine, le clonage à partir de zéro et en cours d'exécution npm install
et ng build
, toujours la même erreur.
Quelqu'un peut s'il vous plaît dites quelle peut être la raison de ce problème et comment le résoudre ?
OriginalL'auteur komron | 2017-10-18
Vous devez vous connecter pour publier un commentaire.
Étapes que j'ai pris pour résoudre ce problème dans le cas où si quelqu'un rencontre:
rm -R node_modules
(retirer le dossier node_modules)npm i -g webpack
npm i -g webpack-dev-server
package-lock.json
(si elle existe)npm i
npm start
Je n'ai pas encore tout à fait comprendre les raisons de ce qui s'est passé.
vous êtes les bienvenus!
Mettez en surbrillance: "effacer la mémoire cache" (mnp de vider le cache)
Pour moi, maintenant, je reçois des
Error: Cannot find module 'webpack'
le plus, je suis à court de ce problème, plus j'ai envie d'upvote cette réponse...
OriginalL'auteur komron
Ne
npm ls webpack
Si vous voyez deux versions de
webpack
(par @angulaire/cli et de la racine node_modules), Alors que c'est le problème. Supprimer/Renommer le webpack sous@angular/cli
et dans le.bin
dossier de@angular/cli
.Problème résolu pour moi
C'est pourquoi u devrait enlever en cas de dev dépendances. C'est donc u n'a pas de supprimer des paquets, juste pour le réinstaller à nouveau
C'était mon problème. La suppression de devDependencies et à l'aide de ma version globale de webpack résolu le problème.
merci pour cette. J'ai dû renommer les deux webpack références pour le faire fonctionner. Mais je ne vois toujours webpack dans mon dev depedencies. Comment at-il installé de cette façon et comment puis-je m'assurer que la prochaine mise à jour ne sera pas le réinstaller en arrière? Espérons que vous êtes toujours autour de btw.
Je viens de supprimer web pack à partir de mon colis.json, supprimer le dossier node_modules et faire le processus de nouveau et il a travaillé pour moi. Merci
OriginalL'auteur phacic