node.js - Yarn - Node Sass 还不支持我当前的环境
问题描述
我正在使用 Sage WordPress 入门主题 - https://github.com/roots/sage。
从今天开始,当我运行 yarn build (webpack --progress --config /webpack.config.js) 出现这个错误:Module build failed: ModuleBuildError: Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (72) 有关支持哪些环境的更多信息,请参阅: https ://github.com/sass/node-sass/releases/tag/v4.8.3
我还尝试使用 brew 卸载并重新安装 node、npm 和 yarn,但没有任何改变。
如果我运行npm install这是错误
../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 stylelint-webpack-plugin@0.10.5 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 ajv-keywords@2.1.1 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! **node-sass@4.9.4 postinstall: `node scripts/build.js`**
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.9.4 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 rebuild node-sass --force但错误是一样的!!!
更多信息
MacOs Mojave 版本 10.14.4
2,7 GHz 英特尔酷睿 i7
npm -v
6.9.0
节点-v
v12.1.0
纱线-v
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"
}
我究竟做错了什么?
解决方案
我正在使用 OSX 最新版本(10.14.4 (18E226))和节点 12。
../src/create_string.cpp:17:25: error: no matching constructor for initialization of 'v8::String::Utf8Value'
在使用 node-sass 4.11 时,我在尝试时遇到了 g++ 错误( ) npm install
,npm rebuild
(链接)不起作用。
我通过将 node-sass 更新到 4.12( npm install node-sass
) 解决了这个问题,因为 node-sass 上的github 问题说对节点 12 的支持是在 4.12 版本中实现的。
推荐阅读
- node.js - 在 node 和 express 中处理 cors
- swift - Swift 包模块名称与其他模块中定义的结构、类或任何类型冲突
- android - 使用 activityViewModels 测试 android 片段
- string - 实体框架模糊搜索字符串列表
- excel - 如何通过 Excel 公式将不同的 UTC 格式转换为 PDT?
- reporting-services - SSRS ReportViewer - 本地化工具栏
- javascript - 如何使用 tumblr tweets.js 文件将我的推文与附加图像一起嵌入?
- sftp - 具有 Expect 语法的 SFTP BSD Zsh 批处理文件
- raster - 根据数据类型, terra::writeRaster 的意外最大可能值
- python - 根据 setuptools 中的 extras 有选择地安装软件包