[Путешествие в яму] Node.js и fsevents

Node.js

задний план

Новый проект, новый Macbook pro, с установленной последней версией, как само собой разумеющееся.Node.js V14.2.0, а затем клонировал код для нового проекта.

консольный вывод

внедрение в проектnpm installУстановка зависимостей не удалась, и вывод консоли был ужасным, как показано ниже:

ошибка номер один

报错一

Ошибка вторая

报错二

анализировать

Первый взглядОшибка Рисунок 1Положение красной рамки нетрудно увидетьnode-gypпри компиляцииfseventsизnode-v83-darwin-64Время неправильное. Что касается того, почему сообщается об ошибке, мы продолжим видетьОшибка Рисунок 2В красном поле похоже, что не может быть загруженоfse-v1.1.1-node-v83-darwin-x65.tar.gzэтот файл, если вы попытаетесь открыть ссылку, действительно404, то проблема с сетью практически исключена.Если вы продолжите читать сообщение об ошибке, то обнаружите:

Pre-built binaries not found for fsevents@1.1.1 and node@14.2.0 (node-v83 ABI)

Дело в принципе ясное, моя машинкаNode.js V14.2.0версия, существует в проектеfsevents@1.1.1зависеть от, иfseventsвообще нет подходящего бинарного пакета, перейдите кfseventsGitHub также проверяет вывод:

fsevents GitHub

  1. node-gypдаNode.jsВстроенный для компиляции родногоc++модуль;
  2. fseventsдаChokidarЗависимость от , используемая вместоNode.js fsмодуль для доступа к файлам в системах MacOS (только MacOS). известныйBabelпросто используйтеChokidar.

решить

понизить рейтингNode.jsверсию, но по принципу модного авангарда 😎, не хочется отказываться от последней версии, поэтому приходится жертвовать артефактомnvmсейчас,nvmУстановка и использование могут относиться сюда:

github.com/nvm-sh/nvm

Вернемся к теме, наконец, используйтеnvmустановлен одновременноNode.jsизV14.2.0а такжеV8.17.0две версии с использованиемnvm use 8.17.0Повторите команду после переключения версииnpm installУстановил, проблема решена.

Суммировать

  1. никогда не верь"node": ">=8.15.1"В этом случае
  2. использовать как можно большеnvmуправлятьNode.jsВерсия