Acabo de instalar node.js y cli
- instalado node.js
instalado react-native-cli
npm -g react-native-cli
Y creó un 'nuevo proyecto'.
react-native init new_project
y dentro de ese directorio 'new_project', me cansé de ver si el paquete de metro funciona bien.
react-native start
Pero el comando me dio un error de seguimiento y el metro no se inicia. ¿Alguna pista para corregir este error? (Estoy usando el sistema operativo Windows 10).
- comando:
C:\projects\new_proj>react-native start
error Expresión regular no válida: /(.\fixtures.|node_modules[]react[]dist[].|website\node_modules.|heapCapture\bundle.js|.\tests.)$/: Clase de carácter no terminado. Ejecute CLI con el indicador --verbose para obtener más detalles. SyntaxError: Expresión regular no válida: /(.\fixtures.|node_modules[]react[]dist[].|website\node_modules.|heapCapture\bundle.js|.\tests.)$/: Clase de carácter no terminado en la nueva RegExp ( ) en la lista negra (D: \ proyectos \ new_proj \ node_modules \ metro-config \ src \ defaults \ blacklist.js: 34: 10) en getBlacklistRE (D: \ proyectos \ new_proj \ node_modules \ react-native \ node_modules @ react-native -community \ cli \ build \ tools \ loadMetroConfig.js: 69: 59) en getDefaultConfig (D: \ projects \ new_proj \ node_modules \ react-native \ node_modules @ react-native-community \ cli \ build \ tools \ loadMetroConfig.js : 85: 20) en carga (D:
- comando:
fuente
Run CLI with --verbose flag for more details.
Quizás se olvidó de escapar de una barra invertida. Consulte stackoverflow.com/questions/14639339/… . No puedo decir sin más detalles.Respuestas:
Recibí un error similar por primera vez hoy. Aparece en
\node_modules\metro-config\src\defaults\blacklist.js
, hay una expresión regular no válida que necesitaba cambiarse. Cambié la primera expresión debajosharedBlacklist
de:a:
fuente
Esto es causado por el nodo v12.11.0 debido a la forma en que trata la ubicación regular, hay dos formas de resolver este problema
Método I
Puede degradar al nodo v12.10.0, esto aplicará la forma correcta de lidiar con el error de análisis
Método II
Puede terminar correctamente la expresión regular en su caso cambiando el archivo ubicado a:
\node_modules\metro-config\src\defaults\blacklist.js
De:
A:
fuente
metro-config
oexpo-cli
?[Respuesta rápida]
Hay un problema con Metro al usar algunas versiones de NPM y Node.
Puede solucionar el problema cambiando algún código en el archivo
\node_modules\metro-config\src\defaults\blacklist.js
.Buscar esta variable:
y cambia a esto:
fuente
.\node_modules\metro-bundler\src\blacklist.js
Tienes dos soluciones:
o degrada el nodo a V12.10.0 o puede modificar este archivo para cada proyecto que cree.
node_modules / metro-config / src / defaults / blacklist.js Cambie esto:
a esto:
fuente
Tuve el mismo problema, modifiqué E: \ NodeJS \ ReactNativeApp \ ExpoTest \ node_modules \ metro-config \ src \ defaults \ blacklist.js en mi proyecto
de
a
Esto funcionó perfectamente para mí
fuente
Un PR con una solución se ha fusionado en el repositorio de metro . Ahora solo tenemos que esperar hasta el próximo lanzamiento. Por ahora, la mejor opción es cambiar a NodeJS
v12.10.0
. Como señaló Brandon , modificar cualquier cosanode_modules/
es una práctica realmente mala y no será una solución final.fuente
No tengo metro-config en mi proyecto, ¿y ahora qué?
Descubrí que en proyectos bastante más antiguos no hay
metro-config
archivosnode_modules
. Si es tu caso, entonces,Y haga el mismo paso que se menciona en otras respuestas, es decir
Reemplazar
con
PD. Enfrenté la misma situación en un par de proyectos, así que pensé que compartirlo podría ayudar a alguien.
Editar
Según el comentario de @beltrone, el archivo también podría existir en,
fuente
MyProject\node_modules\metro\src\blacklist.js
. Salud.Tengo el mismo problema.
"error Expresión regular no válida: / (. \ fixtures \. | node_modules [\] react [\] dist [\]. | sitio web \ node_modules \. | heapCapture \ bundle.js |. \ tests \. ) $ /: Sin terminar clase de personaje ".
Cambiar la expresión regular en
\node_modules\metro-config\src\defaults\blacklist.js
De
A
Este cambio resolvió mi error.
fuente
https://github.com/facebook/metro/issues/453
para quienes siguen recibiendo este error sin parche oficial en react-native, expo
use hilo y agregue esta configuración en package.json
fuente
Ir
y reemplaza esto
a
fuente
Puedes ir a...
\ node_modules \ metro-config \ src \ defaults \ blacklist.js y cambie ...
para esto:
fuente
Como regla general, no modifico archivos dentro
node_modules/
(o cualquier cosa que no se comprometa como parte de un repositorio) ya que la próxima limpieza, compilación o actualización los hará retroceder. Definitivamente lo he hecho en el pasado y me ha mordido un par de veces. Pero esto funciona como una solución de desarrollo local / a corto plazo hasta / a menos quemetro-config
se actualice.¡Gracias!
fuente
Encontré que regexp.source cambió de
node v12.11.0
, tal vez el nuevov8
motor causó. ver más en https://github.com/nodejs/node/releases/tag/v12.11.0 .fuente
Solucionarlo instalando metro-config de la última versión (0.57.0 por ahora) habían solucionado el problema:
npm instalar metro-config
puede eliminarlo más tarde, después de que los tipos nativos de reacción actualicen las versiones del módulo
fuente
El uso de hilo evita esta situación. El hilo debe usar
fuente
En Windows 10, recomiendo encarecidamente instalar Linux Bash Shell.
Aquí hay una buena guía para configurarlo: https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/
simplemente siga los pasos, elija su distribución de Linux y evite tanto como sea posible trabajar con nodo en cmd ya que la inestabilidad es obvia.
Tenga en cuenta que Microsoft advierte enérgicamente contra la adición o modificación de archivos de Linux con software de Windows, como se describe aquí: howtogeek.com/261383/how-to-access-your-ubuntu-bash-files-in-windows-and-your-windows- system-drive-in-bash /
¡Espero eso ayude!
fuente
Acabo de actualizar package.json para cambiar de
a
¡Parece que el problema no ocurrirá en sdk-36 !
Mi versión de nodo es v12.16.0 y el sistema operativo es win10 .
fuente
La solución es simple, pero temporal ...
Tenga en cuenta que si ejecuta un
npm install
o unyarn install
, debe cambiar el código nuevamente.Entonces, ¿cómo podemos ejecutar esto automáticamente?
Solución permanente
Para hacer esto "automágicamente" después de instalar sus módulos de nodo, puede usar
patch-package
.metro-config
archivo, solucionando el error:El archivo aparece en formato
\node_modules\metro-config\src\defaults\blacklist.js
.Editar desde:
A:
npx patch-package metro-config
package.json
gatillo el parche:¡Todo listo! Ahora, este parche se realizará en cada
npm install
/yarn install
.Gracias a https://github.com/ds300/patch-package
fuente