NodeJS:libxmljs无法构建

时间:2017-05-17 14:33:21

标签: node.js

这个图书馆很糟糕。我无法在任意Unix平台上一直安装它。我能够进入OSX和alpine linux,但现在尝试在Cent OS上为同一个项目安装它并且它失败了。它在其他平台上以同样的方式失败,但经过多次尝试后才安装。在这里,我找不到解决方案。

 npm --unsafe-perm install libxmljs

这是输出

node-pre-gyp http GET https://github.com/libxmljs/libxmljs/releases/download/v0.18.4/node-v48-linux-x64.tar.gz
node-pre-gyp http 404 https://github.com/libxmljs/libxmljs/releases/download/v0.18.4/node-v48-linux-x64.tar.gz
node-pre-gyp ERR! Tried to download(404): https://github.com/libxmljs/libxmljs/releases/download/v0.18.4/node-v48-linux-x64.tar.gz 
node-pre-gyp ERR! Pre-built binaries not found for libxmljs@0.18.4 and node@6.9.5 (node-v48 ABI) (falling back to source compile with node-gyp) 
node-pre-gyp http 404 status code downloading tarball https://github.com/libxmljs/libxmljs/releases/download/v0.18.4/node-v48-linux-x64.tar.gz 
gyp http GET https://nodejs.org/download/release/v6.9.5/node-v6.9.5-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v6.9.5/node-v6.9.5-headers.tar.gz
gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: read ECONNRESET
gyp ERR! stack     at exports._errnoException (util.js:1022:11)
gyp ERR! stack     at TLSWrap.onread (net.js:569:26)
gyp ERR! System Linux 4.4.27-boot2docker
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--loglevel=http" "--module=/opt/tc_base/Proj-Node/node_modules/libxmljs/build/Release/xmljs.node" "--module_name=xmljs" "--module_path=/opt/tc_base/Proj-Node/node_modules/libxmljs/build/Release"
gyp ERR! cwd /opt/tc_base/Proj-Node/node_modules/libxmljs
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
npm ERR! code ELIFECYCLE
npm verb stack Exit status 1
npm verb stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
npm verb stack     at emitTwo (events.js:106:13)
npm verb stack     at EventEmitter.emit (events.js:191:7)
npm verb stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
npm verb stack     at emitTwo (events.js:106:13)
npm verb stack     at ChildProcess.emit (events.js:191:7)
npm verb stack     at maybeClose (internal/child_process.js:877:16)
npm verb stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
npm ERR! libxmljs@0.18.4 install: `node-pre-gyp install --fallback-to-build --loglevel http`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the libxmljs@0.18.4 install script 'node-pre-gyp install --fallback-to-build --loglevel http'.
npm ERR! Make sure you have the latest version of node.js and npm installed.

这里应该从源码构建它。在其他一些平台上,它不情愿地这样做。但不是在CentOS上。

我尝试了不同版本的Node。 6.9.5给了我一个好运,让它安装在其他平台上。但是在CentOS上似乎无论如何都无法安装。

声明:它是CentOS的DOCKER版本。然而,真的不重要,因为经过长时间的斗争,它有点安装在高山上

我不能成为在这里挣扎的人,因为这件事在任何地方都会失败。我对环境没什么特别的。

PS:Dockerfile

FROM centos:centos7
RUN yum -y update
RUN yum -y install curl wget bash bash-completion sudo vim net-tools openssh redis python make libtool-ltdl java gcc-c++ libxslt-devel
RUN yum -y groupinstall 'Development Tools'

RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
RUN yum -y install nodejs
RUN npm install -g n
RUN n 6.9.5
WORKDIR /tmp
RUN npm --unsafe-perm  install libxmljs

1 个答案:

答案 0 :(得分:0)

浪费了一天试图建立一个容器,只是为了弄清楚虚拟框中有一个错误,偶尔(99%的时间)使用一个损坏的SSH签名到达节点库档案

每次签名都必须经过验证且损坏时,构建将失败

这里有更多details