Amazon Linux AMI执行yum install nginx时依赖缺失报错求助
解决Amazon Linux AMI安装Nginx时缺失libpcre.so.0的问题
我之前在Amazon Linux AMI上装Nginx时也碰到过这个坑——你用的Nginx包是为CentOS 6(el6)编译的,和Amazon Linux AMI的系统库版本不匹配,所以才会缺旧版本的libpcre.so.0。下面是两种实测有效的解决办法:
方法一:换成适配Amazon Linux的Nginx官方源
这是最稳妥的方式,能避免后续再出现依赖问题:
- 先删掉可能存在的旧nginx源(如果之前加过el6的源):
sudo rm -f /etc/yum.repos.d/nginx.repo - 添加Amazon Linux专用的Nginx源:
sudo tee /etc/yum.repos.d/nginx.repo <<EOF [nginx] name=nginx repo baseurl=http://nginx.org/packages/amzn-linux/\$releasever/\$basearch/ gpgcheck=0 enabled=1 EOF - 重新安装Nginx:
sudo yum install nginx -y
方法二:手动补装缺失的PCRE兼容库
如果不想换源,直接补装提供libpcre.so.0的包就行:
- 先尝试用yum安装pcre兼容包:
如果yum里找不到这个包,可以下载对应你系统架构的CentOS 6版本pcre rpm包(比如x86_64的sudo yum install pcre-compat -ypcre-7.8-7.el6.x86_64.rpm),然后执行以下命令安装:sudo rpm -ivh 下载的包文件名.rpm - 补装完成后,再重新安装Nginx:
sudo yum install nginx -y
验证安装结果
装完之后启动Nginx看看状态,确认没问题:
sudo service nginx start sudo service nginx status
内容的提问来源于stack exchange,提问作者Foram Sojitra
相关产品推荐
相关产品推荐

