Пряжа — Node Sass еще не поддерживает мою текущую среду

Я использую стартовую тему Sage WordPress — https://github.com/roots/шалфей.

С сегодняшнего дня, когда я запускаю сборку пряжи (webpack --progress --config /webpack.config.js), появляется эта ошибка: Ошибка сборки модуля: ModuleBuildError: Ошибка сборки модуля: Ошибка: Node Sass еще не поддерживает вашу текущую среду: 64-разрядная версия OS X с неподдерживаемой средой выполнения (72) Для получения дополнительной информации о поддерживаемых средах см.: https://github.com/sass/node-sass/releases/tag/v4.8.3

Я также пытаюсь удалить и переустановить узел, npm и пряжу с помощью brew, но ничего не меняется.

Если я запускаю установка нпм, это ошибка

../src/create_string.cpp:17:25: error: no matching constructor for initialization of 'v8::String::Utf8Value'
  v8::String::Utf8Value string(value);
                        ^      ~~~~~
/Users/MYPC/.node-gyp/12.1.0/include/node/v8.h:3002:5: note: candidate constructor not viable: no known conversion from 'v8::Local<v8::Value>' to 'const v8::String::Utf8Value'
      for 1st argument
    Utf8Value(const Utf8Value&) = delete;
    ^
/Users/MYPC/.node-gyp/12.1.0/include/node/v8.h:2995:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
    Utf8Value(Isolate* isolate, Local<v8::Value> obj);
    ^
1 error generated.
make: *** [Release/obj.target/binding/src/create_string.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/MYPC/mysiteteam/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:196:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:256:12)
gyp ERR! System Darwin 18.5.0
gyp ERR! command "/usr/local/Cellar/node/12.1.0/bin/node" "/Users/MYPC/mysiteteam/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext = " "--libsass_cflags = " "--libsass_ldflags = " "--libsass_library = "
gyp ERR! cwd /Users/MYPC/mysiteteam/node_modules/node-sass
gyp ERR! node -v v12.1.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
Build failed with error code: 1
npm WARN [email protected] requires a peer of webpack@^1.13.2 || ^2.7.0 || ^3.11.0 || ^4.4.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of ajv@^5.0.0 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! **[email protected] postinstall: `node scripts/build.js`**
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/MYPC/.npm/_logs/2019-05-03T16_22_30_277Z-debug.log

Итак, я пытаюсь перестроить node-sass с помощью этой командной строки npm перестроить node-sass --force, но ошибка та же самая !!!

Больше информации

MacOS Мохаве версии 10.14.4

Intel Core i7 2,7 ГГц

нпм -в

6.9.0

узел -v

v12.1.0

пряжа -в

1.15.2

зависимости package.json

  "devDependencies": {
    "autoprefixer": "~8.2.0",
    "browser-sync": "~2.24.7",
    "browsersync-webpack-plugin": "^0.6.0",
    "bs-html-injector": "~3.0",
    "buble-loader": "^0.4.1",
    "cache-loader": "~1.2.5",
    "clean-webpack-plugin": "^0.1.18",
    "copy-globs-webpack-plugin": "^0.2.0",
    "css-loader": "^0.28.9",
    "cssnano": "~4.0.5",
    "eslint": "~4.19.1",
    "eslint-loader": "~1.9",
    "eslint-plugin-import": "~2.14.0",
    "extract-text-webpack-plugin": "~3.0.2",
    "file-loader": "^1.1.6",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "imagemin-mozjpeg": "~7.0.0",
    "imagemin-webpack-plugin": "~2.2.0",
    "import-glob": "~1.5",
    "node-sass": "~4.9.4",
    "postcss-loader": "~2.1.0",
    "postcss-safe-parser": "~3.0",
    "resolve-url-loader": "~2.3.1",
    "rimraf": "~2.6",
    "sass-loader": "~6.0",
    "style-loader": "^0.22.1",
    "stylelint": "^8.4.0",
    "stylelint-config-standard": "~18.2.0",
    "stylelint-webpack-plugin": "^0.10.5",
    "uglifyjs-webpack-plugin": "^1.3.0",
    "url-loader": "^0.6.2",
    "webpack": "~3.10.0",
    "webpack-assets-manifest": "^1.0.0",
    "webpack-dev-middleware": "~2.0.4",
    "webpack-hot-middleware": "~2.22.3",
    "webpack-merge": "~4.1.4",
    "yargs": "~11.0.0"
  },
  "dependencies": {
    "jquery": "^3.3.1",
    "slick-carousel": "^1.8.1",
    "popper.js": "^1.14.7"
  }

Что я делаю неправильно?

В ссылке, предоставленной ошибкой, есть таблица, показывающая поддерживаемые версии узлов для node-sass v4.8.3. Обновите node-sass или понизьте узел

lleon 03.05.2019 18:37

извините, но я вставил неправильное сообщение Ошибка сборки модуля: ModuleBuildError: Ошибка сборки модуля: Ошибка: Node Sass еще не поддерживает вашу текущую среду: 64-разрядная версия OS X с неподдерживаемой средой выполнения (72) Для получения дополнительной информации о поддерживаемых средах см. : github.com/sass/node-sass/releases/tag/v4.9.4 это был тест ;)

KormiWS 03.05.2019 18:45

Это все то же самое. Самая высокая поддерживаемая версия узла — v10, и вы используете узел v12.

lleon 03.05.2019 21:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
32
3
38 576
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Я использую последнюю версию OSX (10.14.4 (18E226)) и узел 12.

При использовании node-sass 4.11 у меня возникла ошибка g++ (../src/create_string.cpp:17:25: error: no matching constructor for initialization of 'v8::String::Utf8Value') при попытке npm install, npm rebuild(связь), которая не сработала.

Я решил это, обновив node-sass до 4.12(npm install node-sass), так как проблема с гитхабом на node-sass говорит, что поддержка node 12 реализована в версии 4.12.

Что может быть хуже, упомянутый здесь шаг не удался мне с той же проблемой, что и в вопросе.

Naman 25.06.2019 14:46

@Naman проверьте, есть ли у вас другая зависимость, зависящая от [email protected]. У меня была старая версия @rails/webpacker, которая зависела от "node-sass": "^4.11.0", и запуск yarn upgrade @rails/webpacker исправлял мою сборку. Вы можете проверить это, выполнив поиск по yarn.lock или package-lock.json

Michael Hewson 27.06.2019 18:14

Лучший ответ когда-либо, каждый npm я вызывал у меня головную боль в нашей текущей среде из-за сбоя Node sass.

Rutwick Gangurde 04.05.2020 13:37

Обновите node-sass до 4.12.0, и это решит проблему.

Дополнительная информация: node-sass Readme говорит: «Поддерживаемые версии Node.js различаются в зависимости от выпуска, см. страницу выпусков».

rinogo 01.05.2020 01:41

это то, что сработало для меня. Понизьте версию вашего узла до 10.16.0. У узла 12 все еще есть некоторые проблемы.

узел 13.7.0 также имеет эту проблему. Установка узла 10.18 решила эту проблему, но есть еще одна ошибка ../src/sass_types/list.cpp:28:19: error: no matching function for call to 'sass_make_list'. Обновление зависимости node-sass до последней версии 4.13.1 не помогает ни с узлом 13.7, ни с 10.18.

phil pirozhkov 03.02.2020 13:48

Исправлено другое, удалив проект-локальный node_modules при переключении версий узла, чтобы избавиться от остатков неудачных сборок.

phil pirozhkov 03.02.2020 14:13

у узла 12 есть эта проблема при запуске npm install node-sass, понижение версии узла до 10.16 работает

Дополнительная информация: node-sass Readme говорит: «Поддерживаемые версии Node.js различаются в зависимости от выпуска, см. страницу выпусков».

rinogo 01.05.2020 01:42

Для меня работает решение это. вот шаги:

  1. перейдите в папку node-sass (это может быть "../node_modules/node-sass/src" или еще куда-то, например для Angular он находится в "../node_modules/@angular-devkit/build-angular/node_modules /node-sass/src") можно найти в логах: logsImage
  2. открыть create_string.cpp
  3. изменить v8::String::Utf8Value string(value); на v8::String::Utf8Value string(v8::Isolate::GetCurrent(), value);

если вы не можете найти папку «node-sass», перезапустите «npm install» и когда вы увидите журналы node-sass в консоли, завершите процесс, нажав ctrl+c.

Обновление до node-sass 4.12.x или 4.13.x не решило мою проблему, и вышеперечисленное не существовало в моем файле, который содержал следующее: ``` char* create_string(Nan::MaybeLocal<v8::Value > возможно значение) { v8::Local<v8::Value> значение; if (maybevalue.ToLocal(&value)) { if (value->IsNull() || !value->IsString()) { return 0; } } еще { вернуть 0; } Nan::Utf8String строка(значение); char *str = (char *) malloc(string.length() + 1); strcpy(строка, *строка); вернуть ул; } ```

Dark Star1 25.10.2019 00:17

Единственное, что сработало, это перейти на Node версии 11.15.0

Dark Star1 25.10.2019 09:25

Если кто-то использует Amazon EC2 AMI Image, следуйте приведенным ниже инструкциям.

  1. Устанавливайте nvm только из https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
  2. nvm ls-удаленный
  3. НВМ установить v10.16.0

Сборка node-sass будет успешной в соответствии с вашим образом AMI.

Другие вопросы по теме