安装passenger和nginx时找不到C编译器gcc

时间:2012-10-07 16:13:33

标签: gcc nginx centos passenger

我正在尝试在我的VPS上安装Passenger和Nginx。

我关注these instructions并将所有来源的所有链接替换为当前版本。

但是当我为Nginx运行Phusion Passenger安装程序时,gcc编译器出错了:

Compiling and installing Nginx...
# sh ./configure --prefix='/opt/nginx' --with-http_ssl_module --with-http_gzip_static_module --with-cc-opt='-Wno-error' --add-module='/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/ext/nginx'
checking for OS
 + Linux 2.6.32-220.el6.x86_64 x86_64
checking for C compiler ... not found

./configure: error: C compiler gcc is not found

我该怎么办?

OBS:我的VPS适用于CentOS 6.2 x64

6 个答案:

答案 0 :(得分:9)

如果你确实安装了gcc,问题源于/ tmp作为noexec挂载。该错误并不完全有帮助,但如果您将/ tmp重新安装为exec,则可以正确安装乘客。

mount -o remount,rw,exec,nosuid /tmp

答案 1 :(得分:7)

遇到同样的问题,以下命令解决了这个问题; (在ubuntu服务器上)

sudo apt-get install linux-kernel-headers
sudo apt-get install build-essential

答案 2 :(得分:4)

得到了同样的错误。刚刚安装了gcc,它就开始工作了:

  

yum install gcc

答案 3 :(得分:2)

同样的问题,我发现我无法以root身份运行命令 必须使用

 sudo

它像魅力一样工作

答案 4 :(得分:1)

如果适用的话,请确保你是sudo。

示例:

sudo ./configure ...

答案 5 :(得分:0)

一个快速入侵(我经常挣扎并最终安装预构建)是安装预构建的Nginx包而不是从源代码编译它。

对于RHEL / CentOS,使用以下内容创建名为/etc/yum.repos.d/nginx.repo的文件:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

在上面baseurl中将“OS”替换为“centos”,将“OSRELEASE”替换为“6”。

最后执行yum install nginx

参考https://nginx.org/en/linux_packages.html#stable