10

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

我按照这些说明将所有来源的所有链接替换为当前版本。

但是当我为 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

4

6 回答 6

11

有同样的问题,下面的命令解决了;(在 ubuntu 服务器上)

sudo apt-get install linux-kernel-headers
sudo apt-get install build-essential
于 2013-08-02T15:12:34.217 回答
9

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

mount -o remount,rw,exec,nosuid /tmp
于 2012-10-21T13:57:38.297 回答
7

得到同样的错误。刚刚安装 gcc 并开始工作:

百胜安装 gcc

于 2016-02-02T14:35:28.600 回答
5

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

 sudo

它就像魅力一样

于 2017-02-04T00:55:56.640 回答
4

如果适用,请确保您使用 sudo。

例子:

sudo ./configure ...
于 2015-03-23T21:06:30.067 回答
1

一个快速的 hack(我为此付出了很多努力,最后安装了预构建的)是安装 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

于 2017-11-24T07:18:05.650 回答