Недавно я начал изучать библиотеку Three.js через ускоренный курс IFC.js, предложенный Antonio Gonzalez Viegas. Во время раздела инструментов курса произошла ошибка при сборке пакета программного обеспечения, которым я хотел поделиться с сообществом.
Сборщик: rollup.js
Сборщик Rollup.js — это инструмент разработки для javascript, который берет все зависимости вашего кода и объединяет их в один скрипт. Это делает ваш код легким и безошибочным при работе с несколькими библиотеками.
После установки последней версии Rollup с помощью node и npm я столкнулся с этой ошибкой ниже.
Ошибка: не удается найти модуль
Когда мне нужно было связать свой код, я выполнил приведенную ниже команду в терминале, когда произошла ошибка (рис. 1).
rollup -c

Эта ошибка не дает много информации об источнике ошибки, но намекает, что она связана с тем, что модуль не найден.
Отладка:
Чтобы отладить эту проблему, я сначала посмотрел версию накопительного пакета, установленного с помощью:
rollup -v
Это дало мне версию 3.10, затем следующим шагом было определение зависимостей Node, которые можно найти в npm, определение правильной версии и поиск зависимостей движка в package.json.
Это показало, что последняя версия накопительного пакета не поддерживает версию узла 14.5.4, которую я запускал. Чтобы решить эту проблему, вам необходимо найти правильную предыдущую версию накопительного пакета, которая поддерживает вашу версию узла. Это был болезненный шаг, поскольку требовалось просмотреть каждую версию, чтобы найти зависимости движка.
Другой способ найти зависимости — через командную строку:
npm view [email protected] engines
Решение: проверьте версию узла
Чтобы устранить эту ошибку, требуется, чтобы вы соответствовали зависимости от движка, и для меня это означало установку накопительной версии 2.79.1.
npm install [email protected]
Рекомендация:
Я думаю, что эту проблему можно решить либо с помощью сообщения об ошибке, в котором конкретно указывается, что версия Node не соответствует, либо если веб-сайт npm может добавить фильтр, который позволяет пользователю одновременно искать пакет и зависимость.