Nous avons récemment essayé de mettre à niveau le noeud v7.0.0 sur notre serveur de génération, mais des problèmes se sont produits lors de l'échec de la tâche de construction de l'application sur l'étape "bower_concat" :
Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'
Ce que nous avons installé:
node
v7.0.0 (installé via yum
référentiel "nodeource" )npm
4.0.1grunt
(si cela est pertinent)grunt-bower-concat
0.6.0La configuration de la tâche de construction Grunt:
grunt.registerTask(
'build:prod', [
'clean:prod',
'copy:prod',
'replace',
'bower_concat',
'ngtemplates',
'concat',
'uglify',
'cssmin',
'injector:prod',
'copy:cssfix',
'copy:dist',
'bowercopy:dist',
'bowercopy:fonts',
'template:setProdVersion'
]
);
Et le grunt bower_concat
tâche:
bower_concat: {
all: {
dest: '<%= app.build %>/bower.js',
cssDest: '<%= app.build %>/bower.css',
dependencies: {
'bootstrap': 'jquery'
},
mainFiles: {
"angular-app-modules": [
"app/dist/angular-app-modules.min.js",
"app/dist/angular-app-modules.min.css"
]
}
}
},
Notez que cela fonctionne sans aucun problème sur le noeud v6.9.0.
Qu'est-ce qui peut causer le problème? Peut-on résoudre le problème sans rétrograder au nœud v6?
Il y a aussi cette question pertinente , mais, à ce jour, les informations qui y figurent ne sont d'aucune utilité dans notre cas.
Tout d’abord, ouvrez la console en tant qu’administrateur (ou dans le terminal avec Sudo
s’il s’agit d’un Linux) et:
npm cache clean
Pour npm 5 et plus tard
npm cache clean --force
Modifier:
Pour Windows, vous pouvez échouer à nettoyer le cache. Vous pouvez donc supprimer le cache manuellement en supprimant tout le contenu du dossier suivant:
C:\Users\<USER-NAME>\AppData\Roaming\npm-cache
Merci "superwf", ce cas peut arriver pour certains, mais je n'ai jamais eu à le faire (peut-être à cause de mon niveau de sécurité le plus bas?!).
Terminez la modification.
Revenez ensuite à la console normale (pas à l'administrateur ni à la racine), revenez dans le répertoire de votre projet où se trouve package.json, puis supprimez le fichier node_modules
dossier de votre projet, supprimez-le complètement, puis réinstallez les modules de nœud dans votre dossier de projet:
npm install
Vous devrez peut-être mettre à jour vos modules avant de réinstaller les modules. Je le recommande, mais faites attention de ne pas modifier les modifications s'il y a des changements de version majeurs dans vos modules. Ce module (npm-check-updates peut vous aider à vérifier la dernière version et à la mettre à jour.
En outre, vous devrez peut-être également installer les derniers modules globaux et vérifier les mises à jour en:
ncu -g
ou
npm outdated -g
Si vous êtes toujours bloqué, vous devrez peut-être supprimer le fichier global node_modules
dossier et réinstallez ce que vous voulez à nouveau.
Éditer :
Option de fil : Certaines personnes ont fini avec les mêmes problèmes, même avec les procédures de nettoyage. En fait, vous économisez beaucoup de temps avec Fils . Personnellement, j'ai commencé à utiliser yarn
au lieu du traditionnel npm i
, Je peux vous garantir une rapidité accrue et économiser votre temps et votre tête des maux de tête npm.
Dans mon cas, vider le cache (OSX) ne fonctionnait pas. J'utilise n
pour gérer le nœud, ce qui peut rendre potentiellement obsolète npm
. Selon n docs vous pouvez mettre à jour npm
avec:
curl -0 -L https://npmjs.org/install.sh | Sudo sh
Dans linux, lorsque je mets à jour le noeud 7, cela se produit, "npm cache clean" fonctionne.
Dans Windows, NPM Cache Clean génère également
Erreur: Impossible de trouver le module 'internal/fs'
Il suffit de retirer
C:\Utilisateurs [nom d'utilisateur]\AppData\Roaming\npm
C:\Utilisateurs [nom d'utilisateur]\AppData\Roaming\npm-cache
résolu
Dans mon cas, vider le cache ne fonctionnait pas. Voici mon état initial et comment j'ai résolu ceci:
node -v v7.4.0
npm -v 4.0.5
J'ai résolu en procédant comme suit et en utilisant n manager:
$ Sudo n 6.9.1
$ Sudo npm -g install npm@next
$ Sudo n stable
J'espère que cela t'aides!
J'utilise le n tool pour gérer la commutation entre les versions de noeud (et de npm fournies).
Pour corriger cette erreur, j'ai simplement supprimé npm de l'espace global (macOS): Sudo rm -rf /usr/local/lib/node_modules/npm
J'ai ensuite relu Sudo n dernièrement. Cela réinstallera npm. Lorsque vous revenez à la version précédente du noeud, exécutez simplement Sudo n 4.3.2.
Pour résumer:
> Sudo rm -rf /usr/local/lib/node_modules/npm
> Sudo n latest
> node --version
v7.7.1
> npm --version
4.1.2
> Sudo n 4.3.2
> npm --version
2.14.12
La solution qui a fonctionné pour moi était de
1) Supprimer node_modules /
Sudo rm -R node_modules/
2) refaire une gorgée
gulp
Vous devez installer la dernière version de bower
> npm install -g bower
Apparemment, npm> 4.0 n'utilise pas le module internal/fs.
Je suis sous Windows 8.1 x64, passant de v6 à v7. J'ai eu ce problème sur l'installation globale J'ai déjà beaucoup de paquets installés, mais chaque fois que j'ai exécuté la commande npm, que npm install, npm list,npm update
etc. retournent toujours la même erreur
Cette étape fonctionne pour moi:
C:\Utilisateurs [nom d'utilisateur]\AppData\Roaming \
C:\Program Files\nodejs\node_modules
Tout fonctionne bien alors
Si vous utilisez mac
cd ~/.nvm/versions
et supprimer le dossier du noeud
Je résous ce problème en installant NVM pour gérer Node
https://github.com/creationix/nvm#installation
après avoir installé NVM, réinstallez le noeud
nvm install node
Dans mon cas, vider le cache ne fonctionnait pas. Qu'est-ce que le travail a été de supprimer le node_modules/npm
dossier dans l’emplacement d’installation de mon noeud. Ensuite, exécutez à nouveau le programme d'installation de nodejs et utilisez l'option 'réparation' (remarque: il s'agit de Windows).
D'après ce que j'ai pu rassembler dans le journal de débogage de npm, il semblait que mon ancienne version de npm n'avait pas été complètement supprimée avant l'installation de la nouvelle version. Il y avait donc quelques modules obsolètes en attente dans le dossier où npm était installé.
Couru dans ce problème après une Node v4.X à la mise à jour v7.8.0. Réinstaller le NPM et une dernière vérification, m'a amené à un NPM v4.5.0 de travail.
curl -L https://www.npmjs.com/install.sh | sh
npm install npm@latest -g
Aucune des réponses n'a fonctionné pour moi.
En fin de compte, j'ai réinstallé les nœuds et ionic), ce qui a permis de résoudre le problème:
npm cache clean -f
npm install npm -g
npm uninstall node
npm install node -g
Les informations de mon système avant de résoudre le problème:
Cordova CLI: 7.0.1
Ionic CLI Version: 1.7.11 <-- way too old
Ionic App Lib Version: 0.6.5
ios-deploy version: 1.9.1
ios-sim version: 5.0.4
OS: Mac OS X El Capitan
Node Version: v8.0.0
Xcode version: Xcode 8.3.3 Build version 8E3004b
Sous Win10, cela a fonctionné pour moi: (réglez la version et le nom d'utilisateur du nœud correspondant)
si vous utilisez n
pour mettre à jour node
versions et que toutes les commandes npm échouent avec ce message, cela signifie que vous avez le dernier noeud, mais une version plus ancienne de npm.
alors dans ce cas, procédez comme suit (vous aurez peut-être besoin de Sudo)
n 4.7 npm install npm -g n latest
il retournera au noeud 4.7 puis installera le dernier npm en l’utilisant. après que cela reviendra à la dernière version de npm. (remplacez la dernière par la version que vous voulez réellement)
1) Sudo npm cache clean -f
2) Sudo npm install -g n
3) Sudo n stable
Juste trois étapes :)