Программирование может быть трудным. Особенно при попытке закодировать приложение для 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.
Спасибо за прокрутку. Помните, поделитесь этой статьей, если вы нашли ее полезной. Комментируйте больше решений, чтобы помочь другим, и если вы хотите больше статей о распространенных ошибках программирования.