gpt4 book ai didi

ubuntu - apt passenger 包安装的 passenger_free_ruby 可执行文件是什么

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:04 25 4
gpt4 key购买 nike

passenger_free_ruby 是如何工作的?

我使用 phusion 提供的 apt 包安装了 phusion passenger。我的系统 ruby​​ 是使用 brightbox apt 包安装的 ruby​​2.1。我希望/etc/apache2/mods-enabled/passenger.conf 使用/usr/bin/ruby 作为 PassengerDefaultRuby 的默认值。它使用/usr/bin/passenger_free_ruby。

passenger_free_ruby 表现得像 ruby​​,而且是预期的 ruby​​

/usr/bin/passenger_free_ruby -v
ruby 2.1.6p336 (2015-04-13 revision 50298) [x86_64-linux-gnu]

如果我将 ruby​​ 升级到 ruby​​2.2,那么 passenger_free_ruby 将作为 ruby​​2.2 运行

/usr/bin/passenger_free_ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux-gnu]

那么 passenger_free_ruby 到底做了什么?免费是什么意思?为什么不直接使用/usr/bin/ruby 作为默认的 ruby​​?

最佳答案

其存在的原因记录在 the executable's source code 中.

/*
* This is a simple program for executing either the 'ruby' command in PATH,
* or one of the Ruby versions installable by APT. This is necessary because
* Debian 6 and Debian 8 (among others) do not install /usr/bin/ruby upon
* installing one of the versioned Ruby packages (e.g. apt-get install ruby2.1).
* Commands such as 'passenger' are supposed to be runnable under any Ruby
* interpreter the user desires, including non-APT-installed Rubies, but we can't
* just set the shebang line to '#!/usr/bin/env ruby'. This problem is solved by
* setting the shebang line to '#!/usr/bin/passenger_default_ruby'.
*/

关于ubuntu - apt passenger 包安装的 passenger_free_ruby 可执行文件是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32110251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com