Ошибка возникает после следующих шагов в windows:
- Откройте один терминал:
npm run start:dev
- Откройте другой терминал:
ng build --watch
Однако он работает на Mac с использованием приведенных выше команд. Часть конфигурации package.json:
"scripts": {
"ng": "ng",
"start:dev:prod": "ng build --prod && cd dist/ && 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 & cd dist/ & SET APP_ENV=dev & 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)
18 ответов
Простой способ решить эту проблему:
- Удалите каталог
/dist
в проекте Nuxt.js. - Снова запустите
npm run generate
илиnpm run build
.
-1
Nick
20 Апр 2020 в 13:43
Мне удалось решить проблему с убийством процессов npm и Java. У меня возникла проблема с запуском моего Android Cordova, поэтому убийство процессов npm и java помогло мне решить эту проблему.
3
JMeter Dude
16 Дек 2019 в 21:36
Основная причина, по которой вы видите эту ошибку, связана с тем, что программа блокирует папку по какой-либо причине. Тестирование команды при закрытии программ по одной может помочь решить проблему и позволит узнать, какая программа является причиной.
Одной из проблем, с которыми сталкивались люди, была защита от вредоносных программ в Windows. Вы можете прочитать эту ветку здесь:
https://github.com/npm/npm/issues/13461
В случае, если ссылка перестает работать, это был комментарий, получивший наибольшее количество голосов:
В 64-разрядной ОС Windows 10 я решил эту проблему, удалив программное обеспечение Anti-Malware.
Еще один способ вызвать эту ошибку — запустить npm run [command]
при переходе через cd в каталог, который он изменяет. Это случилось со мной, когда я закрыл все программы, и они не работали, но я понял, что нахожусь внутри папки dist
, которую нужно удалить и перестроить. Это вызвало ошибку Error: EBUSY: resource busy or locked, rmdir
в PowerShell и может воспроизводиться каждый раз.
10
JoeMoe1984
18 Май 2019 в 04:52
Если все вышеперечисленные решения не сработали, И вы используете ПК с Windows, как в моем случае, проще всего сделать следующее:
-
Нажмите клавишу Windows плюс R на клавиатуре, чтобы открыть окно команды запуска, и введите это
resmon.exe
-
нажмите ОК , чтобы открыть монитор ресурсов.
-
В мониторе перейдите на вкладку ЦП .
-
В разделе Связанные дескрипторы в окне поиска скопируйте путь к нужному файлу или папке и вставьте его туда.
-
Щелкните значок поиска
-
Вы должны увидеть все программы, использующие файл или папку.
-
щелкните правой кнопкой мыши каждый и конечный процесс
Теперь продолжите то, что вы пытались сделать с файлом или папкой. В моем случае у меня были проблемы с использованием react-create-app через npm. Подробнее здесь # 117908
Я просто надеюсь, что это кому-то поможет.
73
Nicholas Mberev
28 Янв 2022 в 06:30
Для пользователей Angular VsCode:
Убедитесь, что каталог / папка , который вы пытаетесь удалить, открыт в терминале (ах). Может быть несколько экземпляров терминала, поэтому проверьте, есть ли они у вас.
Изменение каталога, открытого в терминале или уничтожение этого экземпляра терминала, решит проблему.
8
Lenzman
16 Дек 2021 в 08:07
Эта проблема связана с кешем, запустите следующую команду в терминале
npm cache verify
7
Balaji D
15 Июл 2020 в 11:37
Это произошло, перезаписав некоторый npm, чтобы он заблокировал ваш источник
Решения (то, что я сделал очистку кеша npm, также не работает, тогда я удалил блокировку пакета, начал работать)
-
просто удалите package-lock
-
чистый кеш.
npm cache clean
также очистить кеш (необязательно)
-
npm install --cache
4
Lenzman
30 Май 2021 в 10:59
У меня была такая же проблема, и я нашел причину — проект находится внутри папки Dropbox, которая синхронизирует и блокирует папку node_modules. Я закрыл дропбокс, и все заработало.
1
Alex Sorkin
27 Янв 2021 в 10:34
Иногда (в другом случае) это просто проблема с сетью, то, что я делаю, просто используя VPN, и его работа.
0
Alfi
22 Сен 2021 в 07:43
Вы можете удалить следующую папку и попробовать еще раз. Работал у меня.
C:Users{username}AppDataLocalTempnpm-xxxxxxxxxx
1
Adriaan
17 Сен 2020 в 11:50
В моем случае была открыта студия Android и VSCode. Закрытие студии Android помогло.
0
mahmood
5 Янв 2022 в 19:16
Это также приходит мне в голову, когда я хочу удалить свой файл data.db при запуске и игре с простым приложением Python, которое я сделал (app.py), чтобы проверить соединение с моей базой данных sqlite3. Когда я хочу удалить файл .db, мой app.py все еще работает в терминале, и появляется ошибка.
Итак, что я делаю, так это убиваю/останавливаю терминал, который запускает app.py. После остановки работающего терминала я могу успешно удалить файл .db.
* Это на ПК с Windows.
0
user16136444user16136444
17 Май 2022 в 09:05
Перезапуск системы решил проблему для меня.
0
Arun Kumar
2 Июн 2022 в 15:18
В моем случае я столкнулся с этой проблемой, потому что я нахожусь в неправильном каталоге и выполняю эту команду.
0
HadiNiazi
12 Авг 2022 в 18:54
Просто закройте терминал и откройте его снова
-1
Eric
1 Фев 2022 в 22:13
Обычно это происходит, когда папка открывается в терминале, после остановки терминала я смог удалить папку.
-1
Siphamandla Ngwenya
30 Мар 2022 в 03:07
Я решил свою проблему, предоставив доступ к соответствующей заблокированной папке.
-1
sajith thiwanka
27 Апр 2022 в 11:20
Содержимое папки node_modules может создавать поврежденные сектора на дисках , использование программного обеспечения для дефрагментации и оптимизации этих дисков может уменьшить подобные проблемы.
-3
Pedroxam
29 Дек 2020 в 19:15
Ошибка возникает после следующих шагов в Windows:
- Откройте один терминал:
npm run start:dev
- Откройте другой терминал:
ng build --watch
Однако он работает на Mac с помощью приведенных выше команд. Частью конфигурации package.json являются:
"scripts": {
"ng": "ng",
"start:dev:prod": "ng build --prod && cd dist/ && 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 & cd dist/ & SET APP_ENV=dev & 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)
Ответы
12
Основная причина, по которой вы видите эту ошибку, связана с тем, что программа по какой-либо причине блокирует папку. Тестирование команды при закрытии программ по одной может помочь решить проблему и определить, какая программа является виновником.
Одна из проблем, с которой сталкивались люди, была с антивирусным ПО в Windows. Вы можете прочитать эту тему здесь:
Https://github.com/npm/npm/issues/13461
На случай, если ссылка перестанет работать, вот самый популярный комментарий:
In Windows 10 64-bit OS, I have resolved this issue by uninstalling
Anti-Malware software.
Другой способ, которым вы можете вызвать эту ошибку, — это запустить npm run [command], в то время как cd’d в каталог, который он изменил. Это случилось со мной, когда я закрыл все программы, и они не работали, но понял, что нахожусь в папке dist, которую нужно удалить и восстановить. Это вызвало ошибку Error: EBUSY: resource busy or locked, rmdir в PowerShell, и ее можно воспроизводить каждый раз.
Я смог решить, как убить процессы npm и Java. У меня возникла проблема с запуском Cordova под управлением Android, поэтому удаление процессов npm и java помогло мне решить проблему.
Если все вышеперечисленные решения не сработали И вы используете ПК с Windows, как в моем случае, проще всего сделать следующее:
-
Нажмите ключ окна плюс р на клавиатуре, чтобы открыть окно команды запуска, и введите это
Resmon.exe
-
Нажмите Ok, чтобы открыть монитор ресурсов
-
В мониторе перейдите на вкладку ЦПУ.
-
Под Связанные ручки в поле поиска скопируйте дорожка в нужный файл или папку и вставьте его туда.
-
Нажмите на значок поиска
-
Вы должны увидеть все программы, использующие файл или папку.
-
Щелкните правой кнопкой мыши каждый и завершите процесс
Теперь продолжите то, что вы пытались сделать с файлом или папкой. В моем случае у меня были проблемы с использованием реагировать-создавать-приложение через npm.
Подробнее здесь №117908
Я просто надеюсь, что это поможет кому-то.
Эта проблема связана с кешем, запустите приведенную ниже команду в терминале.
npm cache verify
Это происходит путем перезаписи некоторого npm, чтобы он заблокировал ваш источник.
Решения (то, что я сделал очисткой кэша npm, также не работает, тогда я удалил блокировку пакета, начал работать)
-
Просто удалите пакет-блокировка
-
Чистый кеш.
Npm cache clean
Также очистить кеш (необязательно)
-
Npm install —cache
Вы можете удалить следующую папку, а затем повторить попытку. Работал на меня.
C:Users{username}AppDataLocalTempnpm-xxxxxxxxxx
Содержимое папки node_modules может превратиться в битые сектора на дисках, использование программного обеспечения для дефрагментации и оптимизации для этих дисков может уменьшить подобные проблемы.
У меня была такая же проблема, и я нашел причину — проект находится внутри папки dropbox, которая синхронизирует и блокирует папку node_modules.
Я закрыл дропбокс и все заработало.
Для пользователей Angular VsCode:
Убедитесь, что каталог/папка, который вы пытаетесь удалить, является открыт в терминале(ах).. Может быть несколько экземпляров терминала, поэтому проверьте, есть ли они у вас.
Изменение каталога, открытого в терминале или уничтожение этого экземпляра терминала решит проблему.
Иногда (в других случаях) это просто проблема с сетью, что я делаю, просто используя VPN, и его работа.
В моем случае была открыта студия Android и VSCode.
Закрытие студии Android помогло.
Просто закройте терминал и откройте его снова
Другие вопросы по теме
I am new to angulr and each time i try to run the npm install to install packages in package.json, i get the following error
C:UsersChinedu>cd plans
The system cannot find the path specified.
C:UsersChinedu>cd desktop
C:UsersChineduDesktop>
C:UsersChineduDesktop>cd plans
C:UsersChineduDesktopPlans>cd angular2
C:UsersChineduDesktopPlansAngular2>cd angular2-quickstart
C:UsersChineduDesktopPlansAngular2angular2-quickstart>npm install
npm WARN retry will retry, error on last attempt: Error: EBUSY: resource busy or
locked, rename 'C:UsersChineduAppDataLocalTempnpm-7276-2a3723d9registry.
npmjs.org_40angularupgrade-upgrade-2.0.0-rc.4.tgz.3208765519' -> 'C:UsersC
hineduAppDataLocalTempnpm-7276-2a3723d9registry.npmjs.org_40angularupgrad
e-upgrade-2.0.0-rc.4.tgz'
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Chinedu\AppData
\Roaming\npm\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v4.4.7
npm ERR! npm v3.10.5
npm ERR! tarball.destroy is not a function
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm WARN retry will retry, error on last attempt: Error: EBUSY: resource busy or
locked, rename 'C:UsersChineduAppDataLocalTempnpm-7276-2a3723d9registry.
npmjs.org_40angularhttp-http-2.0.0-rc.4.tgz.3495958710' -> 'C:UsersChinedu
AppDataLocalTempnpm-7276-2a3723d9registry.npmjs.org_40angularhttp-http-
2.0.0-rc.4.tgz'
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Chinedu\AppData
\Roaming\npm\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v4.4.7
npm ERR! npm v3.10.5
npm ERR! tarball.destroy is not a function
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm WARN retry will retry, error on last attempt: Error: EBUSY: resource busy or
locked, rename 'C:UsersChineduAppDataLocalTempnpm-7276-2a3723d9registry.
npmjs.org_40angularupgrade-upgrade-2.0.0-rc.4.tgz.3192006008' -> 'C:UsersC
hineduAppDataLocalTempnpm-7276-2a3723d9registry.npmjs.org_40angularupgrad
e-upgrade-2.0.0-rc.4.tgz'
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Chinedu\AppData
\Roaming\npm\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v4.4.7
npm ERR! npm v3.10.5
npm ERR! tarball.destroy is not a function
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm WARN retry will retry, error on last attempt: Error: EBUSY: resource busy or
locked, rename 'C:UsersChineduAppDataLocalTempnpm-7276-2a3723d9registry.
npmjs.org_40angularhttp-http-2.0.0-rc.4.tgz.3801615371' -> 'C:UsersChinedu
AppDataLocalTempnpm-7276-2a3723d9registry.npmjs.org_40angularhttp-http-
2.0.0-rc.4.tgz'
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Chinedu\AppData
\Roaming\npm\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v4.4.7
npm ERR! npm v3.10.5
npm ERR! tarball.destroy is not a function
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
Please any idea how to resolve this. It always happens each time i use the npm install tool, i always get the resource locked or busy error message