Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Nginx和乘客依赖性问题(数字海洋部署)_Ruby On Rails_Nginx_Passenger - Fatal编程技术网

Ruby on rails Nginx和乘客依赖性问题(数字海洋部署)

Ruby on rails Nginx和乘客依赖性问题(数字海洋部署),ruby-on-rails,nginx,passenger,Ruby On Rails,Nginx,Passenger,我试着按照这个指南去做 运行此命令后,如果要继续学习教程,请执行以下操作: sudo apt-get install nginx-extras passenger sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list' 我得到这个错误: Reading package lists.

我试着按照这个指南去做

运行此命令后,如果要继续学习教程,请执行以下操作:

sudo apt-get install nginx-extras passenger
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
我得到这个错误:

Reading package lists... Done
Building dependency tree

Reading state information... Done
passenger is already the newest version.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
nginx-extras : Depends: perlapi-5.18.2 but it is not installable
Depends: libperl5.18 (>= 5.18.2) but it is not installable
Recommends: passenger (< 4.0.60) but 1:4.0.59-1~trusty1 is to be installed
E: Unable to correct problems, you have held broken packages.
正在阅读软件包列表。。。多恩
构建依赖树
正在读取状态信息。。。多恩
乘客号已经是最新版本了。
无法安装某些软件包。这可能意味着你有
请求一个不可能的情况,或者如果您使用的是不稳定的
某些必需的包尚未创建的分发
或是被搬出了。
以下信息可能有助于解决这种情况:
以下包具有未满足的依赖项:
nginx附加:取决于:perlapi-5.18.2,但不可安装
取决于:libperl5.18(>=5.18.2),但它不可安装
建议:乘客(<4.0.60),但需安装1:4.0.59-1~信任1
E:无法纠正问题,您持有的是破损的包裹。

我想我不能安装nginx extras,有人能帮我吗?

我在Ubuntu 14.10上也遇到了同样的问题

sudo nano /etc/apt/sources.list.d/passenger.list
注释掉
debhttps://oss-binaries.phusionpassenger.com/apt/passenger 可靠的主机

ctrl+x
Y
进入

如果可以的话

sudo nano /etc/apt/sources.list.d/passenger.list
插入
debhttps://oss-binaries.phusionpassenger.com/apt/passenger 主喘息管

ctrl+x
Y
进入


由于这个问题,我使用了
nginx full
而不是
nginx extras
。我跑14.10分,因为我想要9.4分

有一大堆奇怪的错误,我不断得到,我不小心继续按照乘客的指示,过去的APT指示。哎呀。因此,我最初遵循@Maciej adamczewski的答案,但他添加了Debian 7乘客版安装,而不是Ubuntu 14.04安装。这把我搞砸了

以下是我为整理自己所做的:

sudo apt-mark showhold  # apparently I had nothing in here
sudo apt-get autoclean
sudo apt-get update && sudo apt-get upgrade
# I hoped upgrade would get rid of that error re: nginx-extras
# it didn't at all, so decided to scrap and start over

sudo apt-get purge nginx*  # to get rid of everything nginx
sudo apt-get remove nginx*  # paranoia
sudo apt-get purge passenger
sudo apt-get remove passenger  # paranoia again
sudo apt-get autoremove

sudo apt-get update
sudo apt-get install nginx-full passenger
轰!让nginx正常运行

它没有在Digital Ocean piece上说明,但是如果您直接安装了RVM而不是ruby,您需要找到您的RVM ruby的位置:

rvm use
passenger-config --ruby-command
然后复制粘贴标有
passenger\u ruby/usr/local/…
的nginx信息,并覆盖
/etc/nginx/nginx.conf
文件中的原始passenger\u ruby行

稍后,当您创建站点时,请确保在上添加
passenger\u启用在您的nginx服务器块中


这家伙的疯狂道具:

当我遇到这个错误时,是因为我试图安装的passenger版本与ubuntu版本不匹配。检查你是否在ubuntu 14.04上

如果不是,则行
debhttps://oss-binaries.phusionpassenger.com/apt/passenger 
/etc/apt/sources.list.d/passenger.list中的trusty main
需要更改以匹配您的ubuntu版本


然后运行
sudo apt get update

如果您使用的是Ubuntu 16.04,请执行以下操作

# Install our PGP key and add HTTPS support for APT
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates

# Add our APT repository
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update

# Install Passenger + Nginx
sudo apt-get install -y nginx-extras passenger

可能是ubuntu版本错误,请尝试使用以下命令:

sudo apt-get install nginx-extras passenger
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'

除了教程中提到的第三方存储库之外,您是否还添加了其他第三方存储库?非常感谢。我知道已经一年了,但这正是我需要的!仍然适用于我。适用于ubuntu 18.04 LTS如果您仍然出现错误,请将“wheezy”替换为“jessie”。如果您不确定您使用的是哪个版本,您可以
cat/etc/os release
获取更多信息。在我的情况下,我以为我是在trusty上,但实际上是在xenial上。我面临着同样的问题。。我的ubuntu版本是15.10,工作起来很有魅力!您保存了my day:)在运行上述命令之前,请确保备份您为nginx或passenger处理的所有配置文件<代码>apt get purge
清除关联的配置文件。