【问题标题】:cannot conver t argument 1 from 'v8::Local<v8::Value>' to 'const v8::String::Utf8Value无法将参数 1 从 'v8::Local<v8::Value>' 转换为 'const v8::String::Utf8Value
【发布时间】:2020-03-17 03:54:53
【问题描述】:

我正在尝试运行以下两个命令:

npm install
npm audit fix

在 VS Code 中报以下错误时。

error C2664: 'v8::String::Utf8Value::Utf8Value(const v8::String::Utf8Value &)': cannot conver
t argument 1 from 'v8::Local<v8::Value>' to 'const v8::String::Utf8Value &

非常感谢任何帮助解决这个问题!

【问题讨论】:

  • 如果你从 VSCode 之外的命令行运行会发生什么?
  • 我尝试从 VS Code 以及命令提示符运行上述命令。两者都给出了相同的错误。
  • "npm audit fix" 为我完成了这项工作

标签: visual-studio node-modules node-sass


【解决方案1】:

将 Nodejs 更改为 10.19.0 版本,node-sass 不适用于 Nodejs 12。

【讨论】:

  • 使用 Node 11.15 版本为我修复了它。
【解决方案2】:

This 描述了这个问题,并且 this 有点隐藏的帖子帮助我使用我想要的版本将错误的 node-sass .cpp 文件修复到我能够继续的地方。

我编辑了 node-sass create_string.cpp 文件,将 v8::String::Utf8Value string(value); 更改为 v8::String::Utf8Value string(v8::Isolate::GetCurrent(), value);

【讨论】:

  • 我尝试了很多东西,只有这个解决方案有效!赞!
  • 没有create_string.cpp,除非您按照链接帖子中的说明操作:npm install,并且当您在控制台中看到node-sass 登录时,请按 Ctrl+C 终止它。
【解决方案3】:

对于 nodeJS 12,将 Nodejs 版本更改为 node-sass@4.12.0。

如需更多帮助,请通过此DOC

【讨论】:

  • 这解决了我的问题,而不是降级 nodeJS。我在 node-sass 版本为 4.11.0 时遇到错误,更改为 4.12.0 解决了这个问题。谢谢!
  • 非常感谢,我遇到了这个问题,花了将近 2 天的时间才找到这个解决方案。
猜你喜欢
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 2016-08-13
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多