javascript - No se puede encontrar el módulo ''interno/fs'' después de actualizar al nodo 7
bower vs npm (17)
1) sudo npm cache clean -f
2) sudo npm install -gn
3) sudo n estable
Solo tres pasos :)
Recientemente intentamos actualizar al nodo v7.0.0 en nuestro servidor de compilación, pero comenzamos a tener problemas durante el error de la tarea de compilación de la aplicación en el paso "bower_concat" :
Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module ''internal/fs''
Lo que hemos instalado:
-
node
v7.0.0 (instalado a través del repositorioyum
"nodeource" ) -
npm
4.0.1 -
usando
grunt
(si esto es relevante) -
grunt-bower-concat
0.6.0
La configuración de la tarea de construcción de gruñidos:
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''
]
);
Y la tarea grunt
bower_concat
:
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"
]
}
}
},
Tenga en cuenta que funciona sin problemas en el nodo v6.9.0.
¿Qué puede estar causando el problema? ¿Podemos solucionar el problema sin degradar al nodo v6?
También existe este problema relevante , pero, a partir de ahora, la información allí no ayuda en nuestro caso.
En Linux, cuando actualizo al nodo 7, esto sucedió, "npm cache clean" funciona.
En windows, npm cache clean también genera
Error: no se puede encontrar el módulo ''interno / fs''
Solo eliminar
C: / Usuarios [nombre de usuario] / AppData / Roaming / npm
C: / Users [nombre de usuario] / AppData / Roaming / npm-cache
resuelto
En Win10 esto funcionó para mí: (ajustar a la versión de nodo relevante y nombre de usuario)
- Desinstalar nodo (a través de node-v7.8.0-x64.msi)
- Elimine las carpetas ''npm'' y ''npm-cache'' en ''C: / Users / yourusername / AppData / Roaming
- Instale el nodo nuevamente (a través de node-v7.8.0-x64.msi)
En mi caso, borrar el caché (OSX) no funcionó.
Utilizo
n
para administrar el nodo, lo que hace que
npm
esté potencialmente desactualizado.
Según
n docs
, puede actualizar
npm
con:
curl -0 -L https://npmjs.org/install.sh | sudo sh
En mi caso, limpiar el caché no funcionó. A continuación estaba mi estado inicial y cómo resolví esto:
node -v v7.4.0
npm -v 4.0.5
Resolví haciendo lo siguiente y usando n manager:
$ sudo n 6.9.1
$ sudo npm -g install npm@next
$ sudo n stable
¡Espero que esto ayude!
En mi caso, limpiar el caché no funcionó.
Lo que funcionó fue eliminar la carpeta
node_modules/npm
dentro de mi ubicación de instalación de nodejs.
Luego ejecute el instalador de nodejs nuevamente y use la opción ''reparar'' (nota: esto es para Windows).
Por lo que pude reunir en el registro de depuración de npm, parecía que mi versión anterior de npm no se eliminó por completo antes de instalar la nueva versión. Así que había algunos módulos obsoletos persistentes en la carpeta donde se instaló npm.
Estoy en Windows 8.1 x64, actualizando de v6 a v7.
Tengo este problema en la instalación global. Ya tengo muchos paquetes instalados, pero cada vez que ejecuté el comando npm, si
npm install, npm list,npm update
etc. siempre devuelven el mismo error
Este paso me funciona:
- Limpie la memoria caché npm manualmente eliminando la carpeta npm-cache ubicada en
C: / Usuarios [usrname] / AppData / Roaming /
- Eliminar / renombrar carpeta npm en mi directorio de instalación de NodeJS. En este caso, cambio el nombre de la carpeta npm a npm-- en
C: / Archivos de programa / nodejs / node_modules
- Vuelva a instalar NodeJS v7
Todo funciona bien entonces
La solución que funcionó para mí fue
1) Eliminar node_modules /
sudo rm -R node_modules/
2) Vuelve a correr trago
gulp
Necesitas instalar la última versión de Bower
> npm install -g bower
Aparentemente, npm> 4.0 no usa el módulo interno / fs.
Ninguna de las respuestas funcionó para mí.
Al final reinstalé node e ionic y eso funcionó:
npm cache clean -f
npm install npm -g
npm uninstall node
npm install node -g
Mi información del sistema antes de solucionar el problema:
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
Primero, abra la consola como administrador (o en el terminal con
sudo
si es un Linux) y:
npm cache clean
Para npm 5 y posterior
npm cache clean --force
Editar:
Para Windows, es posible que no pueda limpiar el caché, por lo que puede eliminar el caché manualmente eliminando todo el siguiente contenido de carpeta:
C:/Users/<USER-NAME>/AppData/Roaming/npm-cache
Gracias "superwf", este caso podría suceder para algunos, pero nunca tuve que hacer esto (¡¿quizás debido a mi nivel de seguridad más bajo ?!).
Fin de edición.
Luego regrese a la consola normal (no administrador o root), regrese al directorio de su proyecto donde se encuentra el paquete.json, y luego elimine la carpeta
node_modules
de su proyecto, elimínela por completo y luego vuelva a instalar los módulos de nodo dentro de su proyecto carpeta:
npm install
Es posible que deba actualizar sus módulos antes de instalarlos nuevamente. Recomiendo esto, pero tenga cuidado de romper los cambios si hay cambios importantes en la versión de sus módulos. Este módulo npm-check-updates puede ayudarlo a verificar la última versión y actualizarla.
Además, es posible que también necesite instalar los últimos módulos globales, verifique las actualizaciones:
ncu -g
o
npm outdated -g
Si todavía está atascado, es posible que deba eliminar la carpeta global
node_modules
y volver a instalar lo que desea nuevamente.
Editar :
Opción de hilo
: algunas personas terminaron con los mismos problemas incluso con los procedimientos de limpieza, de hecho, usted ahorra mucho tiempo con
Yarn
.
Personalmente, comencé a usar
yarn
lugar de
npm i
tradicional, puedo garantizar que es más rápido y ahorrarle tiempo y su cabeza de dolores de cabeza npm.
Resuelvo esto instalando NVM para administrar Node
https://github.com/creationix/nvm#installation
después de instalar NVM, reinstale el nodo
nvm install node
Se encontró con este problema después de una actualización de Node v4.X a v7.8.0. Reinstalar NPM y una última comprobación me llevó a un NPM v4.5.0 en funcionamiento.
curl -L https://www.npmjs.com/install.sh | sh
npm install npm@latest -g
Si usa mac
cd ~/.nvm/versions
y eliminar la carpeta del nodo
Utilizo la herramienta n para administrar el cambio entre las versiones de nodo (y el paquete npm).
Para solucionar este error, simplemente eliminé npm del espacio global (macOS):
sudo rm -rf /usr/local/lib/node_modules/npm
Luego volví a ejecutar sudo n más reciente. Esto reinstalará npm. Al volver a la versión anterior del nodo, simplemente ejecute sudo n 4.3.2.
Resumir:
> 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
correr
sudo rm -rf /usr/local/lib/node_modules/npm
Nuevamente npm install. Funcionará
si está utilizando
n
para actualizar versiones de
node
y todos los comandos npm fallan con este mensaje, significa que tiene el último nodo pero una versión npm más antigua.
así que en este caso haga lo siguiente (puede necesitar sudo)
n 4.7 npm install npm -g n latest
volverá al nodo 4.7 y luego instalará el último npm utilizándolo. luego volverá a la última versión de npm. (reemplace la última con la versión que realmente desee)