#node.js #angular5
#node.js #angular5
Вопрос:
Ошибка возникает после следующих шагов в Windows:
- Откройте один терминал:
npm run start:dev
- Откройте другой терминал:
ng build --watch
Однако это работает на Mac с помощью вышеуказанных команд. Частью конфигурации package.json являются:
"scripts": {
"ng": "ng",
"start:dev:prod": "ng build --prod amp;amp; cd dist/ amp;amp; node static/server.js",
"start": "node static/server.js",
"build:prod": "ng build --prod",
"test": "ng test --code-coverage",
"lint": "ng lint",
"e2e": "ng e2e",
"start:dev": "npm run build amp; cd dist/ amp; SET APP_ENV=dev amp; node static/server.js",
"build": "ng build"
},
Журнал ошибок:
Error: EBUSY: resource busy or locked, rmdir 'C:AngularProjectdist'
Error: EBUSY: resource busy or locked, rmdir 'C:Spring-Intern-Projectswdpr-accounting-reference-clientdist'
at Object.rmdirSync (fs.js:701:3)
Комментарии:
1. Самое простое, что вы можете попробовать, это закрыть все ваши терминалы, чтобы избавиться от блокировщика, и повторить попытку.
2. Да. Остановил AVG, и теперь он работает нормально.
3. Поскольку я подключаюсь к каталогу, в котором я запускаю команду, каталог всегда будет занят. Я не могу запустить команду без открытой командной строки.
4. Моими проблемами также было мое антивирусное программное обеспечение, как только я его отключил, моя установка прошла нормально. Очевидно, снова включил его обратно!
Ответ №1:
Если все вышеперечисленные решения не сработали, И вы используете ПК с Windows, как в моем случае, проще всего сделать это:
-
Нажмите клавишу Windows плюс R на клавиатуре, чтобы открыть окно команды выполнить и введите это
resmon.exe
-
нажмите OK, чтобы открыть монитор ресурсов
-
На мониторе перейдите на вкладку CPU
-
В разделе «Связанные дескрипторы» в окне поиска скопируйте путь к соответствующему файлу или папке и вставьте его туда
-
Нажмите на значок поиска
-
Вы должны быть в состоянии видеть все программы, использующие файл или папку
-
щелкните правой кнопкой мыши каждый и завершите процесс
Теперь продолжайте то, что вы пытались сделать с файлом или папкой. В моем случае у меня возникли проблемы с использованием react-create-app через npm. Дополнительная информация здесь #117908
Я просто надеюсь, что это кому-то поможет.
Комментарии:
1. моей проблемой было несколько заблокированных папок кэша. Я использовал ваш метод, чтобы остановить процесс git, блокирующий их, и удалил папки. Мне пришлось подождать несколько секунд, когда консоль выглядела так, будто она застряла, пока через некоторое время она просто не возобновила процесс установки npm самостоятельно.
2. @OmerLeshem Я рад, что это помогает. Похоже, проблемы больше связаны с Windows. Я не сталкивался с этим в Mac OS.
Ответ №2:
Эта проблема связана с кешированием, запустите приведенную ниже команду в терминале
npm cache verify
Комментарии:
1. Для пользователей yarn вы можете сделать
yarn cache clean
Ответ №3:
Для пользователей VSCode:
Проверьте, открыт ли каталог / папка, которые вы пытаетесь удалить, в терминалах.Может быть несколько экземпляров терминала, поэтому проверьте, есть ли у вас какие-либо.
Изменение каталога, открытого в терминале, или уничтожение этого экземпляра терминала решит проблему.
Если ни одно из этих действий не работает, закройте vscode и повторите попытку. Спасибо @Vugar Abdullayev
Комментарии:
1. также может быть полезно закрыть визуальный код, потому что иногда терминала недостаточно.
2. @VugarAbdullayev Да, это правильно. Спасибо, что указали 👍🏽
Ответ №4:
Основная причина, по которой вы видите эту ошибку, связана с тем, что программа по какой-либо причине заблокировала папку. Тестирование команды при закрытии программ по очереди может помочь решить проблему и сообщить вам, какая программа является виновником.
Одна из проблем, с которой сталкивались пользователи, была связана с защитой от вредоносных программ в Windows. Вы можете прочитать эту тему здесь:
https://github.com/npm/npm/issues/13461
На случай, если ссылка перестанет работать, вот комментарий, за который проголосовали больше всего:
В 64-разрядной ОС Windows 10 я решил эту проблему, удалив антивирусное программное обеспечение.
Другой способ, которым вы можете вызвать эту ошибку, — это если вы запускаете npm run [command]
while cd’d в каталог, который его изменяет. Это случилось со мной, когда я закрыл все программы, и это не сработало, но понял, что я был внутри dist
папки, которую нужно было удалить и перестроить. Это вызвало Error: EBUSY: resource busy or locked, rmdir
ошибку в PowerShell и может воспроизводиться каждый раз.
Комментарии:
1. Я решил свою проблему, изменив каталог на что-то другое, отличное от папки, которую я пытался удалить.
Ответ №5:
Это произошло из-за перезаписи некоторого npm, поэтому он заблокировал ваш исходный код
решения (то, что я сделал для очистки кэша npm, также не работает, затем я удалил пакет — блокировка начала работать)
-
просто удалите блокировку пакета
-
очистить кэш.
npm cache clean
также очистите кэш (необязательно)
-
npm install --cache
Ответ №6:
У меня была такая же проблема, и я нашел причину — проект находится внутри папки dropbox, которая синхронизирует и блокирует папку node_modules. Я закрыл dropbox, и это сработало.
Комментарии:
1. Вы буквально только что спасли мой монитор от заклинивания клавиатуры. Не знаю, как вас отблагодарить!
2. У меня только что была такая же проблема с использованием zx, помощника на основе узлов для написания скриптов bash — простым решением было прекратить синхронизацию этой папки
Ответ №7:
Я смог решить проблему с уничтожением процессов npm и Java. У меня возникла проблема с запуском моего Android-устройства под управлением Cordova, поэтому отключение процессов npm и java помогло мне решить проблему.
Ответ №8:
Вы можете удалить следующую папку, а затем повторить попытку. У меня сработало.
C:Users{username}AppDataLocalTempnpm-xxxxxxxxxx
Ответ №9:
Перезапуск системы устранил проблему для меня.
Ответ №10:
Иногда (в другом случае) это просто проблема с сетью, что я делаю, просто используя VPN, и его работу.
Ответ №11:
В моем случае android Studio и VSCode были открыты. Помогло закрытие Android Studio.
Ответ №12:
Это также происходит со мной, когда я хочу удалить свой файл data.db при запуске и воспроизведении простого приложения на Python, которое я создал (app.py ) чтобы проверить соединение с моей базой данных sqlite3. Когда я хочу удалить файл .db, мой app.py все еще выполняется в терминале, и появляется ошибка.
Итак, что я делаю, я отключаю / останавливаю терминал, который запускает app.py . После остановки запущенного терминала я могу успешно удалить файл .db.
* Это на ПК с Windows.
Ответ №13:
в моем случае я сталкиваюсь с этой проблемой, потому что я нахожусь не в том каталоге и выполняю эту команду.
Ответ №14:
Я пытался удалить модули узла и переустановить их, но это не сработало. Проблема в моем случае была из-за неправильно импортированной зависимости с помощью VSCode, я исправил проблему, удалив последний импорт, который я добавил в свой код.
Ответ №15:
Используя Jest и после обновления до Angular 13
, я начал получать это сообщение об ошибке.
Я узнал, что это было из-за неудачных модульных тестов, которые все еще использовали (неправильно) синтаксис Jasmine. Например:
spyOn() // instead of jest.spyOn()
expect().and.returnValue(X) // instead of expect().mockReturnValue(X)
Как только я обновил свой синтаксис, чтобы он был «чистой шуткой» вместо смесей Jasmine / Jest, эти ошибки были устранены, и ошибка EBUSY больше не выдавалась.
Ответ №16:
Просто закройте терминал и откройте его снова
Комментарии:
1. Эй, похоже, это неправильный ответ, пожалуйста, будьте более конкретны для ответа, спасибо.
2. Часто ресурс заблокирован только в пределах терминала. Когда вы открываете новый, вы снова начинаете с настроек по умолчанию. Вот как это может решить такого рода проблемы, но не всегда.
Ответ №17:
Обычно это происходит, когда папка открыта в терминале, после остановки терминала я смог удалить папку.
Ответ №18:
Я решил свою проблему, предоставив доступ к соответствующей заблокированной папке.
Комментарии:
1. Что такое «проникновения»?
Ответ №19:
содержимое папки node_modules может создавать поврежденные сектора на дисках, использование программного обеспечения для дефрагментации и оптимизации для этих дисков может уменьшить подобные проблемы.