Программирование может быть трудным. Особенно при попытке закодировать приложение для Android/iOS с помощью React Native, когда вы ничего не знаете о JavaScript.

Есть много спонтанных ошибок, с которыми я столкнулся при создании своего первого реактивного нативного проекта. Чтобы избавить вас от необходимости искать их все в браузере, пролистывать статьи и пробовать эти маленькие фрагменты командной строки/терминала до тех пор, пока не произойдет что-то еще, я сэкономил вам два или более разочаровывающих дня, поместив их все в эту статью.

1. нпм ОШИБКА! код ENOENT

npm не удалось открыть файл или каталог, необходимые для выполнения команды. В моем случае это была команда «npm start».

Я исправил эту ошибку, изменив каталог проекта. Я назвал свой проект «первый проект», и package.json был там. Я пытался выполнить «npm start» из папки моего проекта. Если это проблема для вас, измените каталог проекта с помощью «cd».

cd first-project

Если нет, то вам не хватает пакетов! Какое решение?

Попробуйте очистить кеш npm.

В файлах на вашем компьютере перейдите к

C:\users\(Ваше имя пользователя)\AppData\Roaming

и удалите файл npm (и кеш npm, если он есть). После удаления в командной строке/терминале запустите

npm cache clean

or

npm cache clean --force

Если установка npm завершается ошибкой с кодом ENOENT, попробуйте обновить версию npm,

npm install -g npm@latest

удаление узловых модулей и package-lock.json,

npm rm -rf node_modules && rm package-lock.json

и переустановка зависимостей

npm install

Найдите больше решений на этой странице StackOverflow.

2. нпм ОШИБКА! код ЭНОЛОК

Вы видите что-то вроде этого

npm ERR! code ENOLOCK
npm ERR! audit This command requires an existing lockfile.
npm ERR! audit Try creating one first with: npm i --package-lock-only
npm ERR! audit Original error: loadVirtual requires existing shrinkwrap file

?

Я тоже так делал, когда запускал «аудит npm». Я попробовал пару вещей.

Сначала я снова попытался очистить кеш npm:

npm cache clean

or

npm cache clean --force

, но это решение работает не всегда. Во-вторых, я попытался добавить новый файл package.json и package-lock.json в каталог:

npm init -y
npm i --package-lock-only

Я думал, что это исправило неприятную ошибку ENOLOCK, но это не так. Все создание файлов package.json и package-lock.json было созданием файлов; однако ошибка осталась.

Что сработало для меня? Я перезапустил окно кода Visual Studio. Как только я открыл новый терминал, ошибка исчезла. Я сэкономил вам тридцать минут разочарования этим. Пожалуйста.

Найдите больше решений на этой странице StackOverflow.

3. запуск скриптов отключен в этой системе

Ага, еще один. Я призываю вас не хлопать компьютером и не уходить. Вот первое решение.

Во-первых, позвольте мне спросить, есть ли у вас эта ошибка

expo : File C:\Users\saka\AppData\Roaming\npm\expo.ps1 cannot be loaded because running scripts is disabled on this system. For more 
information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ expo --version
+ ~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

при попытке ввести команду «expo --version» в терминале Visual Studio Code? Попробуйте открыть PowerShell от имени администратора и запустить:

Set-ExecutionPolicy RemoteSigned

Если это не удается, попробуйте

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy unrestricted

.

Запуск «expo start» в терминале Visual Studio Code не авторизован по умолчанию. Попробуйте запустить «expo start» или «expo --version» в командной строке/терминале на вашем компьютере (не vscode).

Найдите больше решений на этой странице StackOverflow.

4. Ошибка: 0308010c: процедуры цифрового конверта:: не поддерживаются

Для этого мне пришлось установить nvm, который является менеджером версий узла (nvm). Проблема заключалась в используемой мной версии узла (18.12.1). Если бы вы загрузили самую последнюю версию, вы бы получили эту ошибку, как и я. Попробуйте понизить версию узла.

Я попробовал узел 14.20.1, но эта версия слишком старая для выставки, поэтому я удалил ее и попробовал 16.18.1, которая у меня работает.

Чтобы получить помощь по понижению версии вашего узла с помощью nvm, посетите эту страницу StackOverflow.

Чтобы сэкономить вам больше времени, вот видео на YouTube, которое помогло мне понизить версию моего узла.

5. Ошибка от chokidar (c:\): Ошибка: EBUSY: ресурс занят или заблокирован, lstat ‘c:\DumpStack.log.tmp’

Эта ошибка EBusy — последняя, ​​о которой я расскажу в этой статье. Если вы хотите, чтобы я покрыл больше ошибок в будущих статьях, оставьте комментарий.

Кроме того, если эта статья сэкономила вам время и предотвратила разочарование, помогите другим, поделившись ею.

Если вы получаете сообщение «Ошибка от чокидара…», возможно, это не ваша первоначальная ошибка. Просмотрите терминал еще раз и найдите сообщение об ошибке перед этим. Скорее всего, в package.json или App.js есть ошибка.

Найдите больше решений на этой странице StackOverflow.

Спасибо за прокрутку. Помните, поделитесь этой статьей, если вы нашли ее полезной. Комментируйте больше решений, чтобы помочь другим, и если вы хотите больше статей о распространенных ошибках программирования.