У меня возникают проблемы при создании приложения, потому что node-sass продолжает сбой с ошибкой.
ОШИБКА в отсутствующей привязке /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node Узлу
Sass не удалось найти привязку для вашей текущей среды: OS X 64-битный с узлом 0.10.x
Я пробовал бегать
npm rebuild node-sass
который говорит
Двоичный код в порядке; выход.
При запуске node -v
я получаю v6.2.2
Что отличается от того, что говорит ошибка sass "Node 0.10.x". Я не могу понять, почему он получает неправильную версию. Я также попытался удалить папку node_modules и запустить npm update или npm install, которые не решили проблему. Любые идеи?
nvm
? Если вы иногда это испортили некоторые пути модуля npm, и они пытаются использовать версию, отличную от текущей. Если нет, вы всегда можете попробовать удалитьnode_modules
папку и снова установить зависимостиОтветы:
У меня такая же проблема
Как решить мою проблему
Зайдя в папку проекта и затем выполните:
источник
/usr/local/lib/
использованию CMD + SHIFT + G в поиске и переименовал папку node-sass. Затем побежалnpm install node-sass -g
. это исправлено. Я на Mac OSv10.7.0
узел-Sass:v3.13.1
. Говорит, что моя текущая среда - 32-битные окна с узлом 0.10.x, что просто неверно.node_modules
и запустить,npm install
а не восстанавливать ваш node-sass.Обратите внимание, что я использую VS 2015, 64-битную Windows 7.
Также работает для VS 2017 и VS 2019 (из ответов на этот пост)
Task Runner Explorer не может загружать задачи
Для VS 2015
Для VS 2017 (.3)
Удаление
node_modules
и запуск,npm install
а затемnpm rebuild node-sass
ничего не сделал .источник
Tools > Options > Projects and Solutions > Web Package Management > External Web Tools
У меня была такая же проблема в среде Windows, получая следующую ошибку:
Ни одна из
npm
команд , перечисленных в других ответах здесь (npm install
,npm rebuild node-sass
и т.д.) не работал.Вместо этого мне пришлось скачать отсутствующую привязку и поместить ее в соответствующую папку назначения.
Привязки можно найти на Git . Сопоставьте файл с именем папки, указанным после
/node_modules/node-sass/vendor/
в вашем сообщении об ошибке («darwin-x64-11» в вашем случае, так что вы захотитеdarwin-x64-11_binding.node
файл).Создайте отсутствующую папку в вашем проекте (
/node_modules/node-sass/vendor/darwin-x64-11
), скопируйте.node
файл в новый каталог и переименуйте его вbinding.node
.URL-адрес выпуска Node-sass: https://github.com/sass/node-sass/releases
источник
Работал для меня:
Просто удалите папку node-sass и запустите
npm install
.источник
npm rebuild node-sass
не работал для меня. (Mac с WebStorm)npm rebuild node-sass --force
тоже не работалПросто выполните:
npm rebuild node-sass --force
Если вышесказанное по какой-то причине вам не помогло, попробуйте это:
node-sass
папку подnode_modules
npm install
В моем случае это также не могло найти
Python
.Следующая процедура решила проблему (Windows):
источник
npm rebuild node-sass --force
Или, если вы используете node-sass внутри контейнера:
docker exec <container-id> npm rebuild node-sass --force
Эта ошибка возникает, когда node-sass не имеет правильной привязки для текущей операционной системы.
Если вы используете Docker, эта ошибка обычно возникает, когда вы добавляете
node_modules
напрямую в файловую систему контейнера в вашем Dockerfile (или монтируете их с помощью тома Docker).Архитектура контейнера, вероятно, отличается от вашей текущей операционной системы. Например, я установил node-sass на macOS, но мой контейнер работает под управлением Ubuntu.
Если вы заставляете node-sass перестраиваться из контейнера, node-sass загрузит правильные привязки для операционной системы контейнера.
Смотрите мой репро случай, чтобы узнать больше.
источник
npm install
(или нет) в докере проблематично, если у вас есть архитектурно-зависимые модули: получение бинарных файлов darwin или linux в зависимости от того, где выnpm i
Это происходит для таких модулей NodeJS, какnode-sass
, или@google-cloud/pubsub
/node_modules
который был привязан в контейнере в/app/node_modules
. Хотя мойNODE_PATH
был/node_modules
(который существовал) и должен был быть в другом месте ..., это случайно начало вызывать проблемы. Я установил в обоих местах, чтобы мои разработчики могли работать с моим vscode. возгласы. странные вещи. Спасибо за упоминание о докере <3У меня была похожая проблема, и причина была в том, что на моей машине были установлены две версии Node: одна «глобальная» и другая на уровне проекта. Sass будет собираться правильно только в том случае, если сборка Gulp работает под версией Node.js 4.x, поэтому убедитесь, что вы обновляете версию Node, которую вы используете.
PS: Если вы полностью удалите папку node_modules в своем проекте и пересоберите с нуля, npm загрузит правильные зависимости для вашей текущей системы и версии узла.
источник
в некоторых случаях вам нужно удалить и установить библиотеку node-sass. Пытаться:
а также
посмотри на это его работа для меня, стек ссылки здесь
источник
Попробуйте добавить суффикс --force
источник
Для моего конкретного случая ни один из приведенных выше ответов не сработал. Итак, что это сработало:
npm cache verify
проверить, что в кеше ничего не осталосьХотя я не пытался воспроизвести последовательность, это была комбинация вышеупомянутого, который работал. Кроме того, вы также можете попробовать:
npm install --save node-sass
илиnpm install node-sass -g
источник
* Ответ, связанный с докером здесь *
Ответьте, если вы видите эту проблему, или что-то подобное, и используете Docker.
Причина. При копировании поверх текущей файловой структуры внутрь контейнера Docker, вы можете копировать модули узлов из одной системы ОС в другую (например, контейнер Mac в Linux).
Решение:
Добавьте
.dockerignore
, а внутри добавьте:node_modules
Это приведет
npm install
к установке привязок для среды докера, а не для среды локального компьютера.источник
У меня такая же проблема
Это потому, что я установил npm, используя другую версию nodejs, попробуйте удалить папку node_modules, установить и запустить
Если вы используете NVM сделать
источник
У меня была такая же проблема с Node v7.4.0 Current (последние функции).
Прочитал здесь и понизил Node до версии 6.9.4 LTS, после запуска
npm rebuild node-sass
загрузил бинарный файл и все начало работать.источник
node-sass
Модуль узла используетdarwin
двоичный файл, который зависит от версии узла. Эта проблема возникает, если двоичный файл не загружен или загружен неправильный двоичный файл.Переустановите модули узла, чтобы загрузить ожидаемый двоичный файл узла-sass: -
Для пользователей Mac:
Для пользователей Windows:
но для некоторых пользователей вам необходимо проверить совместимость версии вашего узла с версией node-sass. Сделайте его совместимым, используя приведенную ниже таблицу, и снова запустите указанные выше команды, чтобы устранить эту проблему.
Если проблема все еще не устранена, проверьте список поддерживаемой среды node-sass: - https://github.com/sass/node-sass/releases/
источник
Для Visual Studio 2015/2017 щелкните правой кнопкой мыши
package.json
и выберите «Восстановить пакеты».Это обеспечит запуск npm из внешних инструментов Visual Studio Tools, и привязка будет перестроена на основе этого.
источник
Это происходит, когда на вашей рабочей станции вы запускаете обновление Node.js и используете node-sass глобально.
Таким образом, вы должны удалить node-sass глобально
И тогда вы должны установить его глобально, снова
источник
Просто обновите кэш npm и:
Это всегда работает для меня в одном и том же случае.
UPD: Ваша проблема также может быть из-за отсутствия глобальной sasslib.
источник
Просто запустите комментарий, вот и все.
npm перестроить node-sass
наслаждайся кодированием ...
источник
В почтовых зависимостей для узла-дерзости являются не получают установлены без package.json внутри узел-Sass
кредит: ссылка
источник
Обычно это происходит потому, что среда изменилась с момента запуска
npm install
. Запускnpm rebuild node-sass
создает привязку для текущей среды.источник
Я пользователь Windows 8, недавно обновил Node до
v8.11.1
и npmv6.0.0
и столкнулся с подобной проблемой. Ничего не сработало -npm install -g node-sass@latest
или удалениеnode-sass
каталога из проектаnode_modules/
- никто из них не работал для меня.Laravel Mix выдавал ошибку в консоль моего браузера, говоря, что отсутствует узел:
win32-x64-57
. Я не знаю, было ли это из-за более медленного интернет-соединения или чего-то другого, узел отсутствовал во время обновления.Поэтому некоторые ответы заставили меня взглянуть на релизы Node-Sass, и я нашел решение.
npm view node-sass version
({your version}
в шаге 4)C:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\
и поместите загруженный.node
файл в папку версииИ вы сделали.
В моем случае версия node-sass была,
4.9.0
а отсутствующий узел былwin32-x64-57_binding.node
, поэтому я скачал.node
файл с версии 4.9.0 и выполнил шаг 4.источник
Аналогичная ошибка, с которой я столкнулся в Visual Studio 2015 Community Edition при создании приложения AspNetCore:
Из приведенной выше ошибки видно, что причина была в несовпадении версий в привязках для nodejs.
Решение, которое я нашел, состояло в том, чтобы
источник
Это сработало для меня, удалив
node_modules
и восстановив пакеты из IDE, а затемnpm rebuild node-sass
источник
У меня была эта проблема при обновлении с VS 2017 Professional до Enterprise
источник
Ни одно из решений по установке / восстановлению не решило проблему для меня (используя gulp).
Вот как я решил это:
1) Загрузите отсутствующий файл привязки из хранилища .
2) Переименуйте файл
binding.node
.3) Создать
node_modules/node-sass/vendor/darwin-x64-11
(путь из сообщения об ошибке) каталог, если он не существует.4) Добавьте файл привязки в
node_modules/node-sass/vendor/darwin-x64-11
источник
Пожалуйста, напишите ниже команду в корневой папке.
npm перестроить node-sass
100% работает ...
источник
Если ваш терминал / командная строка говорит:
и вы пробовали следующие команды, такие как:
и до сих пор НИЧЕГО не работает ..
Просто запустите это в терминале вручную:
сейчас беги
источник
node-sass запускает скрипт установки для загрузки необходимого двоичного файла. Если переменные среды, переменные .npmrc или аргументы процесса не установлены, то двоичный файл определяется с использованием текущей платформы процесса, архитектуры и версии Node ABI. Поэтому, если вы запустите установку узла в одном приложении, а затем попытаетесь запустить node-sass в приложении с другой платформой / архитектурой / ABI, двоичный файл не будет загружен. Решение состоит в том, чтобы вручную загрузить двоичный файл или исправить двоичную версию, используя переменную среды (SASS_BINARY_NAME) или переменную .npmrc (sass_binary_name).
Вы можете увидеть логику для этого в функции getBinaryPath в node-sass \ lib \ extensions.js
источник
Я была такая же проблема. Я не смог найти здесь правильного рабочего решения, поэтому нашел свое:
Вдохновленный решением @ Rob-Scott и другими указаниями на то, что у нас могут быть установлены 2 версии Node.js, я пришел к
C:\Program Files (x86)\nodejs
выводу, что у меня установлена версия node.js в дополнение к установке по умолчанию VS.Мое решение было довольно простым:
add an entry
(самый левый из верхнего правого блока кнопок)C:\Program Files (x86)\nodejs
, подтвердите нажатиемenter
Вероятно, Node.js плохо настроен в переменной PATH, но это мое очень быстрое решение, мои 2 цента :)
источник
Я должен был сначала выбрать новую версию узла по умолчанию
nvm use ***
илиnvm install ***
затем удалить все в node_modules в проекте иnpm i
снова.источник