【问题标题】:How to install Ruby on Red hat如何在红帽上安装 Ruby
【发布时间】:2014-04-14 16:19:18
【问题描述】:

我正在尝试通过 ssh-connectionRed Hat 上安装 ruby,但它不起作用。

不能使用yum install ruby,因为我没有所需的repositories

【问题讨论】:

  • 最好的办法是使用像rvm.io这样的ruby版本管理器
  • 是否可以选择添加存储库?
  • @Chris Wesseling:如果我知道的话,在哪里可以买到。
  • @hizbul25:你已经让我前进了,但是当我尝试第三步 {./configure} 时,我得到 {[root@rh0045 ruby​​-2.1.0]# ./configure checks build系统类型... x86_64-unknown-linux-gnu 检查主机系统类型... x86_64-unknown-linux-gnu 检查目标系统类型... x86_64-unknown-linux-gnu 检查 gcc... 不检查 cc ... 不检查 cl.exe... 不配置:错误:在 /root/ruby-2.1.0/ruby-2.1.0': configure: error: no acceptable C compiler found in $PATH See config.log' 中了解更多详细信息}

标签: ruby linux rhel


【解决方案1】:

我有三个选择:

1) 您可以从源代码安装它。

首先,您需要安装一些构建工具和库。 在 Centos/RedHat 上,最简单的方法是使用 yum groupinstall 'Development Tools'

如果这不起作用,您至少需要运行:yum install gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel 构建的最低要求。最终,您无法访问互联网,只需 ssh,您就可以从您的机器上 SCP 单个包。

一旦安装了构建工具,如果您在这些机器上可以访问互联网,我建议还安装 RVM 以减少升级的痛苦,并且不必为新库和二进制文件的路径定义搞乱。

安装它非常简单curl -L get.rvm.io | bash -s stable 可以解决问题,rvm install <version> 将允许您安装(对于该用户)您想要的任何 ruby​​ 版本并创建 gemset 而无需接触系统。

请注意,安装需要构建的新 gem 将需要安装其他开发库(如果它们已编译扩展)。

还可以查看http://rvm.io/rubies/installing 以获取有关 rvm 使用的更多参考

否则你可以使用@hizbul25教程从源代码安装std ruby​​。

2) 您可以使用omnibus,https://github.com/opscode/omnibus-ruby,是Opscode、Mcollective 和其他工具使用的包,用于为特定应用程序创建一个自包含的VirtualEnvironment。

您可以选择所需的 gem 和 ruby​​ 版本,它将创建一个 tgz,其中包含运行 ruby​​ 脚本所需的一切。 此 tgz 可以在您想要的位置解压缩(例如:/opt/omnibusruby/),您只需将脚本的 shebangs 指向 #!/opt/omnybusruby/embedded/ruby-2/bin/ruby 或创建一个别名 /usr/bin/ruby -> /opt/omnybusruby/embedded/ruby-2/bin/ruby

如果您根本无法从服务器访问互联网,则可能是在笔记本电脑/系统上准备软件包并将其部署到远程的最佳方式。

【讨论】:

  • 嘿!谢谢,这可能会有所帮助,如果我有一个通过 yum 访问任何包的仓库。你知道有什么方法可以将我的 repo 编辑成 CentOS 的 repo 吗?
  • yum 存储库位于 /etc/yum.repos.d/ 文件夹中,看看这里 centos.org/docs/5/html/yum/sn-yum-maintenance.html 是为 centos 5 提供的,但应该可以工作。
  • 您曾经使用过 CentOS 或 RedHat 发行版吗?你得到什么错误?试图用“不起作用”的信息来帮助你有点困难:)
  • 没有。抱歉,我从未与 RH-Distributions 合作过。我只需要在运行 RHEL 的 VM 上安装 Ruby。我收到以下错误:无论我做什么,我总是收到此错误:yum install example Loaded plugins: product-id, security, subscription-manager 该系统未注册到红帽订阅管理。您可以使用订阅管理器进行注册。设置安装过程 没有可用的软件包。错误:无事可做
  • 我也用 kbsingh-CentOS-Extras.repo 替换了我的 redhat.repo,但没有任何帮助。即使这样我得到:centos.karan.org/el6Server/extras/stable/x86_64/RPMS/repodata/…:[Errno 12] centos.karan.org/el6Server/extras/stable/x86_64/RPMS/repodata/… 超时:(28,'connect()超时!')尝试其他镜像。错误:无法检索存储库的存储库元数据 (repomd.xml):kbs-CentOS-Extras。请验证其路径并重试
【解决方案2】:

我最近使用 OpenShift 快速入门模板在 RHEL8/Cento8 中为 OpenShift 的 CodeReady Containers 实现安装了 Rails。事实上,现在使用 rbenv 似乎是安装 ruby​​ 最干净的方法:

sudo yum groupinstall "Development Tools"
sudo yum install readline-devel openssl-devel
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv install -l
rbenv install 2.7.5
rbenv global 2.7.5
ruby -v

【讨论】:

    猜你喜欢
    • 2015-06-07
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多