Итак, я запускаю приложение Electron, в котором есть несколько собственных модулей, один из которых представляет собой пакет better-sqlite3
.Я запускаю yarn, и yarn может без проблем установить все пакеты, но когда он добирается до этапов сборки, все ломается.
Я получаю кучу разных node-gyp
сообщений об ошибках, из которых 2 я смогчтобы сохранить, чтобы я мог показать здесь, здесь важная часть вывода ошибки для первой ошибки:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Platform.targets(67,5): error MSB8020: The build tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, please install v140 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\Users\bepop\Documents\DeveloperData\Clippy\app\node_modules\better-sqlite3\build\deps\action_before_build.vcxproj]
Полная ошибка
С точки зрения этой ошибки я пытался сделать несколько вещей, таких как установка инструментов визуальной сборки Microsoft разными способами, например, вручную перейти на их сайт и загрузить IDE, я также попытался установить инструменты сборки через NPM с помощью:
npm install --global --production windows-build-tools
Он всегда успешно устанавливает инструменты сборки, но все равно выдает ошибки, я также пытался редактировать конфигурацию npm с помощью: npm config set msvs_version 2017
по-прежнему не работает.Я также попытался перейти к установке Visual Studio и вручную проверить: «VC ++ 2017 версия 15.7 v14.14 последние инструменты v141» Также ничего.
Я помню, в какой-то момент я смог получить все, чтобысобрать нормально с Windows 10, и у меня никогда не было проблем, но больше нет.Я уже несколько месяцев пытаюсь решить эту проблему самостоятельно, и я просто продолжаю работать над проектом на моем macbook, где никогда не возникает проблем при сборке пакета better-sqlite3
.
Еще 1 вещьЯ попытался полностью стереть мой компьютер со всего и начать все заново, потому что в какой-то момент я изменил так много вещей, что потерял след того, что я установил, а что нет.
Если я удаляю пакет better-sqlite3
из файла package.json
, все идет гладко, и я могу нормально запустить свой проект, но мне нужен пакет better-sqlite3
.Я мог бы использовать другой пакет, но я действительно не должен был этого делать, я хотел бы разобраться в причинах, по которым я не собираюсь это делать.
Редактировать:
Обновлено: я добавил инструменты сборки Microsoft v14.0.23107.0 в свою переменную pats, и теперь она выдает ошибку:
C:\Users\bepop\Documents\DeveloperData\Clippy\node_modules\integer\build\integer.vcxproj(21,3): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.