Что касается внутреннего интерфейса, я чувствую, что большинство из них попали в ловушку этого.Все зависимости установлены, но эту зависимость нельзя установить.
Прежде всего, первая проблема, с которой необходимо столкнуться.На самом деле, самая большая причина, по которой эта зависимость не может быть установлена, заключается в том, что при компиляции и установке ему необходимо загрузить установочный пакет.Этот установочный пакет находится на github.resource serverrawgithubusercontent
Сложно подключиться, что также напрямую приводит к невозможности установки зависимостей.
Решение 1: Зеркало Taobao также является наиболее прямым решением.Адрес установочного пакета в node-sass на зеркале Taobao был изменен на адрес установочного пакета в зеркале Taobao, и установка будет гладкой. Это также официальное решение проблемы с сетью.
npm install -g mirror-config-china --registry=http://registry.npm.taobao.org
npm install node-sass
такой же--registry
илиcnpm
подходят для решения этим методом.
Решение 2:
Некоторые люди могут не иметь возможности загружать пакеты в зеркало Taobao напрямую через зеркало, потому что команда использует package-lock.json для стандартизации зависимостей, используемых объединенной командой, но есть решение этой проблемы, укажите вручнуюnode-sass
Адрес используемого инсталляционного пакета.
пройти черезnpmrc
:
npm config set sass_binary_site "https://npm.taobao.org/mirrors/node-sass/"
Переменные среды также могут быть установлены:
set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/
непосредственно черезnpm install
Вы также можете использовать только зеркало Taobao для загрузки установочного пакета.
Решение 3:
Вы можете указать путь загрузки, затем вы можете сначала загрузить установочный пакет, а затем указать установочный пакет для установки.
Иди первымhttps://github.com/sass/node-sass/releases/tag/{version}
илиhttps://npm.taobao.org/mirrors/node-sass/
Загрузите соответствующий установочный пакет ниже:{os}-{module-version}_bingding.node
, конкретную версию можно получить, запросив следующую таблицу в соответствии с вашей версией nodejs.
NodeJS | Supported node-sass version | Node Module |
---|---|---|
Node 15 | 5.0+ | 88 |
Node 14 | 4.14+ | 83 |
Node 13 | 4.13+, <5.0 | 79 |
Node 12 | 4.12+ | 72 |
Node 11 | 4.10+, <5.0 | 67 |
Node 10 | 4.9+ | 64 |
Node 8 | 4.5.3+, <5.0 | 57 |
Node <8 | <5.0 | <57 |
Следующие шаги аналогичны решению 2, которые приведены здесь.npmrc
реформа
npm config set sass_binary_path [path]
Решение 4: Поскольку основной причиной является сеть кунг-фу, ее можно только перевернуть. Сначала настройте системный прокси, а затем настройте прокси npm.
npm config set proxy [system proxy]
После завершения загрузки проблема решена только наполовину. Загруженный установочный пакет все еще необходимо скомпилировать. Node-sass требуется некоторая среда компиляции, чтобы обеспечить завершение компиляции. Вот простое решение:
npm install -g node-gyp
npm install --global --production windows-build-tools
Это поможет вам установить соответствующую среду компиляции и решить большинство проблем, включая инструменты сборки vs и python.
Есть скрытая небольшая яма также о узле-GYP. Если ваш узел-GYP не является глобальной установкой, этоpackage-lock.json
Лучше всего проверить версию node-gyp, например, для меня node-gyp ограничен старой версией, поэтому самая большая проблема в том, что версия инструмента сборки, которую вызывает сам node-gyp, сделана He решил, что некоторые старые версии node-gyp определенно не поддерживают инструменты сборки более высоких версий, и соответствующую поддержку можно найти в node-gyp'sMSVSVersion.py
серединаversion_map
Нашел в, возьмем для примера мою 3.8.0:
version_map = {
'auto': ('14.0', '12.0', '10.0', '9.0', '8.0', '11.0'),
'2005': ('8.0',),
'2005e': ('8.0',),
'2008': ('9.0',),
'2008e': ('9.0',),
'2010': ('10.0',),
'2010e': ('10.0',),
'2012': ('11.0',),
'2012e': ('11.0',),
'2013': ('12.0',),
'2013e': ('12.0',),
'2015': ('14.0',),
}
Видно, что здесь поддерживается только до vs2015, поэтому я вручную установил инструмент сборки vs2015 для успешной компиляции.
Здесь также можно указать вручнуюmsvs_version
Для сборки версии инструмента, но в большинстве случаев достаточно auto.
npm config set msvs_version [version]
сделать это, выполнитьnpm install
Существует высокая вероятность того, что проблем не будет. Если есть проблема, пожалуйста, поделитесь журналом ошибок выхода, чтобы увидеть, есть ли в нем другие скрытые ямы.