【问题标题】:NPM error installing "sse4_crc32"NPM 错误安装“sse4_crc32”
【发布时间】:2015-10-24 23:39:39
【问题描述】:

我最初将此错误作为不同包的依赖项,但当我自己尝试时它也失败了。由于这是我第一次尝试安装 node.js 包,我确定我遗漏了一些东西,但是什么?

$ npm install --save sse4_crc32 \ > sse4_crc32@3.3.0 安装 /home/agam/node_modules/sse4_crc32 >> 节点-gyp 重建 make: 进入目录'/home/agam/node_modules/sse4_crc32/build' CXX(目标) 发布/obj.target/sse4_crc32/src/sse4_crc32.o 在 ../src/sse4_crc32.cpp:18:0 中包含的文件中: ../node_modules/nan/nan.h:在构造函数“Nan::Utf8String::Utf8String(v8::Local)”中: ../node_modules/nan/nan.h:1178:27:错误:“REPLACE_INVALID_UTF8”不是“v8::String”的成员 v8::String::REPLACE_INVALID_UTF8; ^ sse4_crc32.target.mk:87:目标“Release/obj.target/sse4_crc32/src/sse4_crc32.o”的配方失败 make: *** [Release/obj.target/sse4_crc32/src/sse4_crc32.o] 错误1 制作:离开目录'/home/agam/node_modules/sse4_crc32/build'

【问题讨论】:

  • 你的节点版本是什么?
  • $ nodejs -v v0.10.38
  • 您提到了nodejs 作为您的可执行文件,但您也有一个node 可执行文件吗? node -v 是否显示不同的版本?
  • /usr/bin/node 符号链接到 nodejs;不确定这是否有影响?

标签: node.js npm


【解决方案1】:

今天遇到了同样的问题。

我在节点 0.10.29 上应该可以工作。 升级到 Node 0.10.38,但这并没有解决问题。

我在 debian (jessy) 上运行,并且安装了 npm,将旧版本的 node-gyp 作为依赖项引入。 0.2.0 我相信 npm 1.4.x。

通过 npm install -g 安装新版本的 node-gyp 解决了这个问题。 (经过一些符号链接更改以指向新的 node-gyp)。

【讨论】:

  • 您能准确解释一下您在命令行中输入的用于安装新版本和符号链接的命令吗?否则我不能在这里真正赞成,不是一个非常具体的答案
【解决方案2】:

我的猜测是您使用的是节点 v0.11.12 或更早的 v0.11 版本,它没有 v8::String::REPLACE_INVALID_UTF8(自 v0.11.13 起,当 v8 从 3.22.x 升级到 3.24.x 时可用)。 node v0.11.x 版本被认为是不稳定的,您应该至少升级到 v0.12。之后,错误应该会消失。

该错误的更多技术原因是nan 只是在使用v8::String::REPLACE_INVALID_UTF8 的代码周围执行a check if the node ABI version is post-v0.10,因此它假定您使用的是v0.12 或更高版本,其中该常量可用。

【讨论】:

  • 我看到 npm 在版本 1.4.21、node-js 在版本 0.10.38 和 node-gyp 在版本 0.12.2。
  • 我刚刚尝试使用节点 v0.10.40 并且安装 sse4_crc32 没有问题。
猜你喜欢
  • 2023-03-30
  • 2012-02-09
  • 2022-01-10
  • 2016-04-03
  • 1970-01-01
  • 2014-11-21
  • 2014-07-27
  • 2015-06-16
相关资源
最近更新 更多