在 yarn install 上编译 node-sass 时出错
Posted
技术标签:
【中文标题】在 yarn install 上编译 node-sass 时出错【英文标题】:error compiling node-sass on yarn install 【发布时间】:2020-10-11 17:40:11 【问题描述】:我正在尝试使用 nodejs v12.18.1 在 ubuntu 18.04 安装上安装 sylius。 正如安装指南中所建议的那样,我正在启动 yarn install 来编译资产,并且在构建新包(node-sass 版本 4.1.0)时停止,出现以下错误:
error /var/www/sylius.local/node_modules/node-sass: Command failed.
...
...
/home/matteorossi/.node-gyp/12.16.2/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
...
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
...
所以我不明白这样的错误是与 sylius、gulp-sass 还是 nodejs 相关的错误。 有什么建议吗?
【问题讨论】:
尝试删除你的 node_modules 然后安装最新的 node-sass 【参考方案1】:https://github.com/Sylius/Sylius/issues/11358
你有几个选择:
-
升级 node-sass 到 4.12+
通过当前版本的 node-sass 降级为 NodeJS version supported
使用支持 NodeJS 版本的 Docker 容器来安装和构建资产:
docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app --name node node:6-alpine yarn install
【讨论】:
以上是关于在 yarn install 上编译 node-sass 时出错的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Webpack Encore在Heroku上编译资产?