首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Node.js图像素在CentOS上的应用

Node.js图像素在CentOS上的应用
EN

Stack Overflow用户
提问于 2015-04-28 22:20:27
回答 5查看 12.5K关注 0票数 6

我正在尝试使用Node.js imagemin来压缩服务器上的许多图像。我喜欢使用imagemin,因为我知道如何将它指向特定的目录。

我使用的是CentOS 6,当我运行我的文件时,我得到了错误:

node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin/vendor/pngquant: /lib64 64/libc.so.6:未找到`GLIBC_2.14版本

此外,当我在imagemin中安装npm install imagemin时,我得到了一个错误,即:

错误: pngquant生成失败,请确保安装了libpng-dev。

我能做些什么来解决这个问题吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-04-29 20:50:10

(事实上,问题已经在评论中解决了-但为了完成和子孙后代,我正在发布一个实际的答案)。

错误: pngquant生成失败,请确保安装了libpng-dev。

此错误意味着系统缺少安装libpng Node.JS模块所需的imagemin开发库。要在CentOS 6上安装它,需要发出以下命令:

yum install libpng-devel

请注意,包管理器(这里- yum)和包名(libpng-devel)在不同的Linux发行版之间都可能有所不同。

票数 11
EN

Stack Overflow用户

发布于 2017-08-08 11:36:47

即使安装了CentOS 7,我也有同样的问题。看起来这个包在node_modules/pngquant-bin/vendor/pngquant中带有一个预编译的二进制程序,它与Linux安装(CentOS 7最新版)有些不兼容。

我已经通过将这个二进制文件替换为CentOS 7可用的二进制文件来解决这个问题。

首先,我正在安装带有pngquant的官方软件包yum。然后我正在安装节点模块。如果愿意,可以在安装操作之前删除node_modules文件夹。不过,这不是必需的。

该错误将如常显示(程序文件尚未替换):

⚠ The `node_modules/pngquant-bin/vendor/pngquant` binary doesn't seem to work correctly ⚠ pngquant pre-build test failed ℹ compiling from source ✖ Error: pngquant failed to build, make sure that libpng-dev is installed at ChildProcess.exithandler (child_process.js:206:12) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internal/child_process.js:877:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

但是,替换了二进制文件之后,一切都应该很好.

sh yum install libpng-devel pngquant npm install rm -rf node_modules/pngquant-bin/vendor/pngquant ln -s /usr/bin/pngquant node_modules/pngquant-bin/vendor/pngquant

在此之后,您可以运行任何您喜欢的命令,"imagemin:dynamic“等。它应该能够正常工作。

摘要

一般来说,问题似乎在pngquant-bin节点包中。这个解决方案也可能对其他Linux发行版有所帮助。

解决方案本身是使用OS包管理器安装官方支持的pngquant版本的,并在安装后替换pngquant-bin供应商文件夹中的二进制文件。

更新

此外,最近还存在一个与pngquant npm包有关的问题。它似乎有一个错误的版本-锁定您的package.json中所需的package.json包到旧版本(为您最后正确运行的版本)。

票数 9
EN

Stack Overflow用户

发布于 2018-03-22 11:28:55

以前的解决方案对我没用。我用的是centos 7.4

执行时

代码语言:javascript
运行
复制
# npm install

我收到了错误:

✖错误: pngquant生成失败,请确保libpng-dev是安装的

在试图安装libpng-devel时,它说它已经安装好了。

溶液

如果使用旧版本,更新nodejs & npm版本。

我已经更新到

Nodejs版本

代码语言:javascript
运行
复制
[root@hosting ~]# node -v

v8.10.0

npm版本

代码语言:javascript
运行
复制
[root@hosting ~]# npm -v

5.7.1

检查服务器上安装的libpng-devel。

代码语言:javascript
运行
复制
[root@hosting ~]# rpm -qa |grep libpng

libpng-1.5.13-7.el7_2.x86_64

libpng-发展-1.5.13-7.el7_2.x86_64

如果您正在使用epel回购,那么它将安装最新版本。有关libpng发布检查的更多信息

代码语言:javascript
运行
复制
[root@hosting ~]# yum list |grep libpng

我安装了

代码语言:javascript
运行
复制
yum install libpng12-1.2.50-10.el7.x86_64 libpng12-devel-1.2.50-10.el7.x86_64

移动节点模块

代码语言:javascript
运行
复制
mv node_modules node_modules_bak

然后键入

代码语言:javascript
运行
复制
# npm install
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29930978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档