Ошибка Npm неподдерживаемая платформа для fsEvents при развертывании в Azure

Когда я запускаю npm install, я получаю эту ошибку:

npm ERR! code EBADPLATFORM npm ERR! notsup Unsupported platform for
fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current:
{"os":"win32","arch":"x64"}) npm ERR! notsup Valid OS:    darwin npm
ERR! notsup Valid Arch:  any npm ERR! notsup Actual OS:   win32 npm
ERR! notsup Actual Arch: x64

Это было задано здесь, но принятый ответ, что это необязательно, не работает для меня, так как я не могу опубликовать в Azure, так как установка npm не удалась.

версия npm: 5.6.0

Я пытался:

npm install --no-optional

10 ответов

Npm i -f не кажется хорошей идеей...

Вместо этого добавьте fsevents к необязательным зависимостям (если fsevents есть в вашем package.json):

"optionalDependencies": {
    "fsevents": "^2.0.7"
}

@ Аарон прав. Это не удавалось, когда я запускал npm install из maven-frontend-plugin.

Я решил проблему с помощью команды npm i -f(принудительная установка npm)

fsevents - это модуль только для OS X, его нельзя установить в Windows.

Fsevents нужен только если вы строите на Mac. Если вы развертываете Ubuntu, Windows и т. Д., Это не нужно.

См. Здесь специфическая зависимость ОС npm package.json, которая читает,

npm package.json поддерживает ключ ОС,

а также optionalDependencies

os можно использовать, чтобы указать, в какой ОС можно установить модуль. optionalDependencies - это зависимости модулей, которые, если они не могут быть установлены, npm пропускает их и продолжает установку.

Любой из них будет работать. Я предпочитаю добавлять в корневой объект моего package.json следующее:

"optionalDependencies": {
    "fsevents": "^2.1.2",
  },

Это не имеет ничего общего с Дарвином или Windows . Возможно, вы установили Angular, но путь к системной переменной не обновляется соответствующим образом.

Получите место установки ng из вашей системы, например, (C: \ Users..... \ AppData \ Roaming \ npm), и добавьте в конце путь к системной переменной.

Теперь перейдите в Cmd -> введите ng-v для Angular 6 (версия ng v или ng для Angular 7).

Откройте "package.jason", затем удалите "fsevents" в "зависимости".

"dependencies": {"fsevents": "1.2.4"}

затем запустите "npm i" и после этого "npm Audit Fix Fix"

В моем случае по какой-то странной причине я обнаружил изменения в package-lock.json, которые произошли после запуска npm install и npm build. После восстановления изменений у меня пропала ошибка

Для меня это сработало без труда в Windows:

Перейдите в файл проекта "package.lock.json". Нажмите "Ctrl+F" (чтобы включить поиск по ключевым словам). Введите "darwin" Везде, где в файле написано "darwin", измените его на "win32". Перезагрузите код VS, и вы должны будьте готовы идти.

добавь это работает для меня "main": "server.js", "type": "module", "engines": { "node": "16.10.0", "npm": "7.24.2" },

Я знаю, что это старый вопрос, но для других людей, которые все еще сталкиваются с этой проблемой, особенно на mac0S, кажется, что во всем этом есть проблема специфичности платформы. Я столкнулся с проблемой при попытке развернуть на Heroku, я сделал следующее, сборка прошла успешно, а затем развертывание сработало. Пожалуйста, сделайте следующее:

  • Добавьте предпочитаемую версию fsevents к optionalDependencies в твоем package.json
  • После этого запустите npm install.
  • Я предполагаю, что в настоящее время у вас нет записи для optionalDependencies в твоем package.jsonИтак, вот так:

    "optionalDependencies": { "fsevents": "2.x.x" }

Другие вопросы по тегам