NPM安装依赖时出现了Node Sass错误

9

在使用 Node 13.1.0 安装依赖时,出现了大量警告和错误。

C++ '-DNODE_GYP_MODULE_NAME=binding' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/Users/marinosony/.node-gyp/13.1.0/include/node -I/Users/marinosony/.node-gyp/13.1.0/src -I/Users/marinosony/.node-gyp/13.1.0/deps/openssl/config -I/Users/marinosony/.node-gyp/13.1.0/deps/openssl/openssl/include -I/Users/marinosony/.node-gyp/13.1.0/deps/uv/include -I/Users/marinosony/.node-gyp/13.1.0/deps/zlib -I/Users/marinosony/.node-gyp/13.1.0/deps/v8/include -I../../nan -I../src/libsass/include -Os -gdwarf-2 -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -std=c++11 -MMD -MF ./Release/.deps/Release/obj.target/binding/src/create_string.o.d.raw -c -o Release/obj.target/binding/src/create_string.o ../src/create_string.cpp造成错误:错误:初始化'v8::String::Utf8Value'的匹配构造函数不存在。请注意:第一个参数无法从'v8 :: Local'转换为'const v8 :: String :: Utf8Value'。make: *** [Release/obj.target/binding/src/create_string.o] Error 1。在执行rebuild时发生错误,导致构建失败。
  • Node 版本:13.1.0
  • Node-sass 版本:4.13.1

你正在使用哪个版本的 nodenode-sass?请提供它们的版本信息。 - Vectrobyte
node v13.1.0 和 node-sass 4.13.1。也许我需要将 node-sass 降级到 4.13.0 吗? - user10053592
这回答了你的问题吗?Yarn - Node Sass目前不支持我的环境 - Prakash Karena
是的,非常感谢。显然,我必须降级node和node-sass版本。 - user10053592
1
我在使用Node v16时遇到了相同的问题,降级到Node v14后就解决了。 - Anuj
2个回答

7

1
只需要运行 npm update 就解决了我的问题。 - Nikhil Bhandarkar
1
如果您正在使用Homebrew,以下命令适用于我:brew install node@12 brew unlink node brew link node@12或者您需要降级到的任何版本。 - Adriaan
降级节点虽然不是一个解决方案,但是如果只是因为一个软件包而想要升级节点和其组件的人,也不应该选择降级。这只是一个权宜之计,而非真正的解决方案。 - Mithun Shreevatsa
降级节点虽然不是解决方案,但是一个愿意升级节点和其组件的人,仅仅因为一个软件包而降级是不明智的。这只是一个权宜之计,而非解决之道。 - undefined

0

这是版本问题,请尝试使用 --unsafe-perm 安装

sudo npm install -g --unsafe-perm node-sass 

请告诉我您是否仍然有问题。 - Prakash Karena
不起作用。我遇到了同样的问题:“error: no matching constructor for initialization of 'v8::String::Utf8Value' v8::String::Utf8Value string(value);”。 - user10053592
你尝试过运行 npm install node-sass 吗? - Prakash Karena
是的,我在安装“npm install node-sass”时没有任何问题。我的问题出现在我尝试使用npm安装一些软件包时。实际上,当我尝试使用npm安装“h5bp”软件包时,这个问题就出现了。 - user10053592

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接