J'ai installé Angular/cli, puis j'essaie d'exécuter la commande, puis l'erreur est lancée. J'ai essayé beaucoup de choses comme désinstaller angular/cli, npm cache clean, etc.
Les versions de @ angular/compiler-cli et TypeScript ne peuvent pas être déterminé. La raison la plus courante est une installation npm défectueuse.
Assurez-vous que votre package.json contient à la fois @ angular/compiler-cli et TypeScript dans devDependencies, puis supprimez node_modules et package-lock.json (si vous en avez un) et exécutez à nouveau l'installation de npm.
Cela peut être un problème pour ne pas exécuter implicitement devDependencies.
Essayez de les exécuter implicitement avec la commande ci-dessous.
npm install --dev
Une solution générique pour échapper à ce problème
Créer un nouveau projet
ng nouvelle graine angulaire
Copiez toutes les dépendances par défaut et dev-dependenices de package.json dans votre projet actuel (angular, TypeScript, etc ...)
Ensuite, supprimez node_modules et exécutez les packages install npm de votre projet actuel, ou quelle que soit la méthode que vous utilisez pour reubild
rm -fr node_modules npm install
remarque: si cela ne vous donne pas la dernière version, des outils globaux peuvent être installés dans les données itinérantes (dans la fenêtre explorée, saisissez %appdata%
et naviguez jusqu'à npm pour observer)
Dans le cas du déploiement, il est recommandé d’ajouter un script preinstall
pour remédier aux lacunes de dépendance suivantes:
"preinstall": "npm install @angular/cli @angular/compiler-cli TypeScript"
Tout d'abord, pour prévenir, mettre à jour angulaire
npm install -g @angular/cli
Deuxièmement, également l'exécution "npm install", vous devez installer les dépendances de dev
npm install --dev
vérifier les dépendances sont sans erreur
ng --version
Par défaut, npm install installera tous les modules répertoriés comme dépendances. Avec l'indicateur --production, npm n'installera pas les modules répertoriés dans devDependencies ..__
_ {First Way} _
pour éditer lepartie de dépendance dans package.json en l'ajoutant avec la version appropriée
"dependencies": {
/*existing part */
"@angular/cli": "1.5.2",
"@angular/compiler-cli": "^5.0.0",
"TypeScript": "^2.4.2"
}
_ {Second Way} _
Pour installer les dépendances de dev, npm --production = false install fonctionnera même avec NODE_ENV = production.
Ou vous pouvez exécuter NODE_ENV = install npm de développement
pour plus de détails cliquez pour en savoir plus
npm install --only=dev
Vérifiez également ces dépendances
package.json
:
...
"@angular/cli": "x.x.x",
"@angular/compiler": "^y.y.y",
"@angular/compiler-cli": "^z.z.z",
"TypeScript": "^t.t.t"
...
J'espère que cela t'aides...
En réalité, le vrai problème est avec npm.
Si son téléchargement est comme --legacy-bundling=true
(qui est par défaut) alors vous aurez ce problème. Si vous voyez le dossier node_modules, tous les modules dépendants seraient imbriqués.
Lorsque vous exécutez la commande npm install
, vous devez définir --legacy-bundling=false
npm install --legacy-bundling=false
Maintenant, si vous voyez le dossier node_modules, aucun module ne serait imbriqué. Et tout va marcher.
Vous pouvez définir le comportement par défaut de npm en utilisant la commande suivante. Vous ne devrez donc pas le définir à chaque fois.
npm set --legacy-bundling=false
Je suis tombé sur ce problème lorsque j'installais des dépendances npm sur Jenkins. J'avais @ angular/compiler-cli dans devDependencies et TypeScript dans les dépendances et NODE_ENV=production
dans l'environnement.
J'ai essayé NODE_ENV=development npm install
et cela a fonctionné pour moi.
Pour plus de détails, voir ceci: https://github.com/angular/angular-cli/issues/8407
S'il vous plaît exécuter la commande
npm --production=false install
notez également que vous devez vous trouver dans le dossier de votre projet lors de l’exécution de celui-ci.
Pourriez-vous vérifier que votre "@ angular/compiler" dans vos dépendances est compatible avec angular/version cli.
Par exemple :
"devDependencies": {
"@angular/cli": "1.4.8",
"@angular/compiler-cli": "4.4.6",
est compatible avec:
"@angular/compiler": "4.4.6",