Я только что установил node.js и cli
- установлен node.js
установлен react-native-cli
npm -g react-native-cli
И создал «новый проект».
react-native init new_project
и внутри этого каталога 'new_project' я устал проверять, хорошо ли работает сборщик метро.
react-native start
Но команда дала мне следующую ошибку, и метро не запускается. Есть ключ к исправлению этой ошибки? (Я использую ОС Windows 10.)
- команда:
C:\projects\new_proj>react-native start
error Недопустимое регулярное выражение: /(.\fixtures.|node_modules[ptingreact[ptingdist[]] .|website\node_modules.|heapCapture\bundle.js|.\tests.)$/: Неопределенный класс символов. Для получения более подробной информации запустите CLI с флагом --verbose. SyntaxError: недопустимое регулярное выражение: /(.\fixtures.|node_modules следующим образом: /(.\fixtures.|node_modules[ptingreact[ ]dist[]] .|website\node_modules.|heapCapture\bundle.js|.\tests.)$/: незавершенный класс символов в новом RegExp ( ) в черном списке (D: \ projects \ new_proj \ node_modules \ metro-config \ src \ defaults \ blacklist.js: 34: 10) в getBlacklistRE (D: \ projects \ new_proj \ node_modules \ react-native \ node_modules @ react-native -community \ cli \ build \ tools \ loadMetroConfig.js: 69: 59) в getDefaultConfig (D: \ projects \ new_proj \ node_modules \ response-native \ node_modules @ react-native-community \ cli \ build \ tools \ loadMetroConfig.js : 85: 20) при нагрузке (D:
- команда:
117
Run CLI with --verbose flag for more details.
Возможно, вы забыли избежать обратной косой черты. См. Stackoverflow.com/questions/14639339/… . Не могу сказать без подробностей.Ответы:
У меня сегодня впервые возникла подобная ошибка. Похоже
\node_modules\metro-config\src\defaults\blacklist.js
, есть недопустимое регулярное выражение, которое необходимо изменить. Я изменил первое выражение подsharedBlacklist
:кому:
источник
Это вызвано узлом v12.11.0 из-за того, что он имеет регулярное местоположение, есть два способа решить эту проблему.
Метод I
Вы можете перейти на ноду v12.10.0, это применит правильный способ борьбы с ошибкой синтаксического анализа.
Метод II.
Вы можете правильно завершить регулярное выражение в вашем случае, изменив файл, расположенный по адресу:
\node_modules\metro-config\src\defaults\blacklist.js
Из:
Кому:
источник
metro-config
илиexpo-cli
?[Быстрый ответ]
Есть проблема с Metro, использующим некоторые версии NPM и Node.
Вы можете решить проблему, изменив код в файле
\node_modules\metro-config\src\defaults\blacklist.js
.Найдите эту переменную:
и измените на это:
источник
.\node_modules\metro-bundler\src\blacklist.js
У вас есть два решения:
либо вы понижаете версию узла до V12.10.0, либо можете изменять этот файл для каждого создаваемого проекта.
node_modules / metro-config / src / defaults / blacklist.js Измените это:
к этому:
источник
У меня была та же проблема, что я изменил E: \ NodeJS \ ReactNativeApp \ ExpoTest \ node_modules \ metro-config \ src \ defaults \ blacklist.js в моем проекте
из
к
это отлично сработало для меня
источник
В моем проекте нет metro-config, что теперь?
Я обнаружил, что в довольно старом проекте нет
metro-config
innode_modules
. Если это так, тоИ сделайте тот же шаг, что и в других ответах, т.е.
замещать
с участием
PS Я столкнулся с такой же ситуацией в паре проектов, поэтому подумал, что поделиться ею может кому-то помочь.
редактировать
Согласно комментарию @beltrone файл также может существовать в,
источник
MyProject\node_modules\metro\src\blacklist.js
. Приветствия.В метро репозиторий слили PR с исправлением . Теперь нам просто нужно дождаться следующего релиза. На данный момент лучший вариант - перейти на NodeJS . Как отметил Брэндон , изменение чего-либо в этом - действительно плохая практика и не будет окончательным решением.
v12.10.0
node_modules/
источник
У меня такая же проблема.
"ошибка Недопустимое регулярное выражение: / (. \ fixtures \. | node_modules [\] react [\] dist [\]. | website \ node_modules \. | heapCapture \ bundle.js |. \ tests \. ) $ /: Unterminated класс персонажа ".
Измените регулярное выражение в
\node_modules\metro-config\src\defaults\blacklist.js
Из
Чтобы
Это изменение устранило мою ошибку.
источник
https://github.com/facebook/metro/issues/453
для тех, кто все еще получает эту ошибку без официального патча в react-native, expo
используйте пряжу и добавьте этот параметр в package.json
источник
Перейти к
и замените это
к
источник
Ты можешь пойти в...
\ node_modules \ metro-config \ src \ defaults \ blacklist.js и измените ...
для этого:
источник
Как правило, я не изменяю файлы внутри
node_modules/
(или что-либо, что не фиксируется как часть репозитория), поскольку следующая чистка, сборка или обновление их регрессируют. Я определенно делал это в прошлом, и это меня несколько раз укусило. Но это действительно работает как краткосрочное / локальное исправление для разработчиков до тех пор, пока / пока неmetro-config
будет обновлено.Спасибо!
источник
Я обнаружил, что regexp.source изменен
node v12.11.0
, возможноv8
, вызван новым движком. подробнее на https://github.com/nodejs/node/releases/tag/v12.11.0 .источник
Исправьте это, установив metro-config последней версии (на данный момент 0.57.0), они устранили проблему:
npm установить metro-config
вы можете удалить его позже, после того, как ребята обновят версии модулей.
источник
Использование пряжи предотвращает эту ситуацию. Пряжу следует использовать
источник
В Windows 10 я настоятельно рекомендую установить Linux Bash Shell.
Вот хорошее руководство по его настройке: https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/
просто следуйте инструкциям, выберите свой дистрибутив Linux и по возможности избегайте работы с node на cmd из-за очевидной нестабильности.
Примите во внимание, что Microsoft настоятельно рекомендует не добавлять или изменять файлы Linux с помощью программного обеспечения Windows, как описано здесь: howtogeek.com/261383/how-to-access-your-ubuntu-bash-files-in-windows-and-your-windows- системный диск в баше /
Надеюсь, поможет!
источник
Я только что обновил package.json, чтобы изменить его
к
Кажется, что в sdk-36 проблема не возникнет !!
Моя версия узла - v12.16.0, а ОС - win10 .
источник
Решение простое, но временное ...
Обратите внимание: если вы запустите
npm install
или,yarn install
вам нужно снова изменить код!Итак, как мы можем запустить это автоматически?
Постоянное решение
Чтобы сделать это «автоматически» после установки модулей узла, вы можете использовать
patch-package
.metro-config
файл, устраняя ошибку:Файл появится в формате
\node_modules\metro-config\src\defaults\blacklist.js
.Редактировать с:
Кому:
npx patch-package metro-config
package.json
триггере патч:Все сделано! Теперь этот патч будет производиться каждый
npm install
/yarn install
.Спасибо https://github.com/ds300/patch-package
источник