Коли я виконую, npm install
я отримую цю помилку
npm ERR! Помилка: EPERM: операція заборонена .DELETE '
- Я запускаю cmd як адміністратор
- Я бігав
npm cache clean
раніше - Я переконався, що всі інші програми не мають нічого
node_modules
відкритого
Коли я виконую, npm install
я отримую цю помилку
npm ERR! Помилка: EPERM: операція заборонена .DELETE '
npm cache clean
ранішеnode_modules
відкритого Відповіді:
У моїй ситуації це допомогло. Перш ніж приступити до виконання цих команд, закрийте всі екземпляри коду VS.
чистий кеш с
npm cache clean --force
інсталюйте останню версію npm глобально як адміністратор:
npm install -g npm@latest --force
чистий кеш с
npm cache clean --force
Спробуйте встановити свій компонент ще раз.
Сподіваюся, це вирішить вашу проблему. Якщо ні, ви можете тимчасово відключити антивірусну програму і спробувати ще раз.
npm run watch
. Після цього в моєму випадку відповідні посилання модулів були оновлені у новому файлі app.js.
Я змусив це працювати, коли намагався встановити npm з можливістю примусового вибору віддалених ресурсів, навіть якщо локальна копія існує на диску. Спробуйте запустити
npm install --force
Оновлено Для деяких моїх колег це рішення не працює. Але ми спробували використовувати пряжу замість npm. Він працює (і швидше), без всяких проблем
yarn install [package-name]
Якщо ви хочете уникнути цього --force
варіанту (який завжди є кращим підходом) , пропоную переконатися, що ви перестали виконувати проект, оскільки це, як правило, головна причина блокування файлів майже в 90% випадків, які я бачив
1- У кутовій зупинці ng s
та в React зупинці npm start
зазвичай вирішується ця проблема, тому що зазвичай ця помилка трапляється, якщо сервер розробки запускає проект, оскільки він блокує деякі файли, а потім npm не може оновити їх, тим самим кидаючи цю помилку
2- Якщо вищезгадане не працює, спробуйте закрити редактор коду, у якому відкрита робоча область (можливо, він блокував деякі файли чи щось)
Тому спробуйте закрити редактор коду та запустити:
npm install
3- Якщо все-таки це не працює, можливо, ви можете спробувати --force
варіант
npm install --force
Я отримував ту саму помилку, і відповідно до https://github.com/Medium/phantomjs/isissue/19 це може бути спричинене вашим антивірусним програмним забезпеченням. Я відключив міну протягом тривалості встановлення та виконав "npm install" на cmd як адміністратор, і він працював. Сподіваюся, це допомагає.
Для мене я просто закрив редактор коду (код VS), а потім запустив ту саму команду. І це вирішує для мене питання.
Я отримував те саме. Я ніде цього не знайшов, але мене вразило, що наші віртуальні машини прагнуть змінювати файли до стану, призначеного лише для читання. Тож я відкрив package.json
властивості файлу та відмінив вибір Read-only
на вкладці "Загальні".
Кроки
package.json
файлу.Це типова помилка, викликана антивірусом. Існує рішення для таких випадків, як моя, коли я не можу відключити A / V (Політика компанії).
Ви повинні змінити polyfills.js
внутрішній Npm
пакет:
[NODE_HOME]/node_modules/npm/node_modules/graceful_fs/polyfills.js
Шукайте це твердження:
if (process.platform === "win32") {
Всередині цього твердження є час очікування, яке може зробити повторний випробування у випадку помилки. Проблема полягає в тому, що в деяких випадках після закінчення тайм-аут файл все ще блокується A / V. Рішення вириває тайм-аут і пускає це твердження у цикл. Зміни з попереднім коментом прокоментували:
if (platform === "win32") {
fs.rename = (function (fs$rename) { return function (from, to, cb) {
var start = Date.now()
var backoff = 0;
fs$rename(from, to, function CB (er) {
if (er
&& (er.code === "EACCES" || er.code === "EPERM")
/*&& Date.now() - start < 60000*/) {
console.log("Retrying rename file: " + from + " <> " + to)
fs$rename(from, to, CB);
/*setTimeout(function() {
fs.stat(to, function (stater, st) {
if (stater && stater.code === "ENOENT")
fs$rename(from, to, CB);
else
cb(er)
})
}, backoff)*/
if (backoff < 100)
backoff += 10;
return;
}
if (cb) cb(er)
})
}})(fs.rename)
}
У мене ця проблема була неодноразово лише в Windows, я пробую їх у порядку зазвичай.
npm install --force
node_modules/
Зазвичай спроба npm install
одного з цих кроків вирішить це.
Спроба перейменувати файл на інше, яке вже існує, може спричинити EPERM
помилку в Windows.
Я переказав свої віконні диски прапором метаданих і миттєво допоміг: https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/
після цього більше не потрібно використовувати sudo для npm-команд, оскільки метадані перевіряють права доступу до файлів / директорій Windows та Linux.
У мене була така ж проблема після оновлення до npm до 5.4.2, npm почало давати ту саму помилку для більшості команд npm. Деякі рішення пропонують запустити його --no-optional
, але це не завжди працювало.
Інші пропонували понизити ціну, але я не хотів її знижувати.
Я підозрював, що з установкою була проблема, не впевнений, що це.
Тож я оновив свій npm:
npm i -g npm
і відтоді добре працював.
npm не вдалося мені scandir
:
npm install -g webpack
... що може бути викликано спробою npm "змінити" файли, які потенційно були заблоковані іншими процесами, про які йдеться тут, і в кількох інших потоках github. Після примусового очищення кешу, перевірки кеша, запуску адміністратора, відключення AV та ін. Рішення, яке насправді працювало на мене, закривало будь-яку річ, яка могла б заблокувати файли (тобто перезапустити мій комп'ютер).
Сподіваюсь, це допомагає комусь, хто бореться.
У мене була така ж проблема. Причиною помилки є непідтримувані символи на шляху до файлу. Замінив кирилицю англійською - це допомогло.
Для деяких із них папка AppRoot \ npm може бути проблемою. Іноді папка AppRoot позначається як мережа, що ділиться загалом, і тому Антивірус блокує вміст. Перейдіть посилання нижче для повного рішення.
https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
Я сподіваюся, що це допомагає.
Відкрийте командний рядок як адміністратор і перейдіть до місця розташування проекту, а потім запустіть npm install. це працювало на мене.
У моєму випадку працює npm: v6.9.0
&& node: v10.16.1
на Windows
, я повинен був запустити мій CLI (GIT Баш) в якості адміністратора . Потім пакети були встановлені без будь-яких попереджень / помилок
У мене була така ж проблема в Windows 10. Просто виконайте ці кроки:
Відкрийте cmd як адміністратор.
встановити оновлений пакет npm.
npm i -g npm
npm init --yes
Запуск команд, коли Super Admin працював на мене. Повторіть спробу після закриття редактора, в якому ви працюєте.
Я теж боровся з цим. Я, нарешті, вирішення, яке добре працює, якщо ви використовуєте nvm:
cd ~/.nvm/versions/node/{your node version}/lib/
npm install npm
і це все.
Це може бути пов’язано з антивірусним програмним забезпеченням. Якщо ви не можете відключити AV, ви можете спробувати змінити своє глобальне місце установки NPM під час встановлення вузла в каталозі APPDATA, який активно контролюється AV Engines. Спробуйте виконати наступні команди-
Префікс npm config set "ВАШЕ МИТНЕ ОБЛАСТЬ" npm config set кеш "YOUR CUSTOM LOCATION"
Видаліть каталог node_modules та встановіть свій пакет ще раз.
У моєму випадку налаштування typescript.disableAutomaticTypeAcquisition
в Visual Studio Code, true
здавалося, допомагає.
Я закрив VS, видалив папку node_modules.
Потім побіг:
npm i -D -E clean-webpack-plugin@3.0.0 css-
loader@3.4.2 html-webpack-plugin@3.2.0 mini-css-
extract-plugin@0.9.0 ts-loader@6.2.1 typescript@3.7.5
webpack@4.41.5 webpack-cli@3.3.10
Потім довелося змінити властивість, щоб не читати лише в папці node_modules, як тільки вона запустилася.
Потім побіг:
npm i @microsoft/signalr @types/node
Потім відкрив резервну копію проекту у VS, і package.json виглядав правильно із залежностями.
У той же самий рядок, що й інші, які говорять про читання лише в папці node_modules та закриття VS для запуску npm install over.