Зачем мне нужны Visual Studio и C для установки модулей узлов

#node.js #visual-studio #vue.js #npm #node-gyp

Вопрос:

Недавно я обновил версию своего узла до 14 с 10 в Vue.Приложение Js. Но это давало мне некоторую ошибку и просило установить Visual Studio, включая C . Когда я установил VS с C . Это начало отлично работать. Но после этого всякий раз, когда я выполняю новую «установку npm», для этого требуется C . Это не кажется нормальным. Какова связь между узлом и C . Я думаю, что есть что-то, чего мне не хватает. Если кто-нибудь знает решение, пожалуйста, дайте мне знать…

Я уже упоминал, где приложение использует C ниже.

 > node-zopfli-es@1.0.4 install G:PROJECT_PATHnode_modulesnode-zopfli-es

> node-gyp rebuild


G:PROJECT_PATHnode_modulesnode-zopfli-es>if not defined npm_config_node_gyp (node "C:UserspcAppDataRoamingnvmv14.17.0node_modulesnpmnode_modulesnpm-lifecyclenode-gyp-bin\....node_modulesnode-gypbinnode-gyp.js" rebuild )  else (node "C:UserspcAppDataRoamingnvmv14.17.0node_modulesnpmnode_modulesnode-gypbinnode-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.

zopfli-binding.cc

zopflipng.cc

zopflipng_lib.cc

lodepng.cpp

......
 

Комментарии:

1. Некоторые модули написаны на C , и для их создания требуется компилятор C .

Ответ №1:

Это вполне нормально для определенных типов node.js пакеты. Многие пакеты имеют двоичные зависимости для повышения производительности (или просто для интеграции с уже существующей библиотекой, такой как zopfli). Вместо того, чтобы сопровождающие проекта распространяли массу различных двоичных файлов для разных архитектур и версий операционных систем, они, как правило, предоставляют исходный код и позволяют его создавать при установке.

Обычно это обрабатывается node-gyp, который также отображается в вашем журнале сборки, но для этого, в свою очередь, требуются правильные инструменты сборки, доступные в системе, в большинстве случаев компилятор C/C , а в некоторых случаях и Python.

Для более старых версий node.js вы можете использовать пакет средств сборки Windows для установки необходимых зависимостей (например, вам не понадобится полная Visual Studio, только средства сборки), но в более новых версиях установщика nodejs (по крайней мере, для Windows) это опция при установке.

Node.js настройка, показывающая страницу, на которой можно выбрать собственные инструменты модулей

Если вы пропустили этот параметр при установке, вы все равно можете использовать вышеуказанный пакет для их установки.

Комментарии:

1. Так что нет никакой возможности избавиться от него! Когда я делюсь кодом со своим другом, ему также нужно установить Visual Studio, для которой требуется 10 ГБ места. Мне, должно быть, нужно решить эту проблему

2. Как я уже сказал, вам не нужна полная Visual Studio. Инструменты сборки намного меньше, если вы просто установите необходимые компоненты с помощью установщика узла. Другим вариантом, конечно, было бы избавиться от зависимостей, которые в этом нуждаются, если они вам не нужны. В вашем случае, по крайней мере node-zopfli-es , это, по сути, просто причудливая утилита сжатия.

3. Оо. Хорошо, братан, спасибо тебе..