我正在尝试通过 ssh-connection 在 Red Hat 上安装 ruby ,但它无效。
我无法使用yum install ruby
,因为我没有所需的repositories
。
答案 0 :(得分:2)
我有三种选择:
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就可以从机器中获取单个包裹。
一旦安装了构建工具,如果你在这些机器上有互联网访问权限,我建议安装RVM以减少升级的痛苦,而不必为新库和二进制文件的路径定义搞乱。
安装它非常简单curl -L get.rvm.io | bash -s stable
可以解决这个问题,在rvm install <version>
允许你安装(对于这个用户)你想要的任何ruby版本并创建gemset而不触及系统。
请注意,安装需要构建的新gem需要安装其他devel库(如果它们具有已编译的扩展名)。
还可以查看http://rvm.io/rubies/installing以获取有关rvm使用的更多参考资料
否则你可以使用@hizbul25教程从源代码安装std ruby。
2)你可以使用omnibus,https://github.com/opscode/omnibus-ruby,是Opscode,Mcollective和其他工具的包useb,为特定的应用程序创建一个selfctaines VirtualEnvironment。
您可以选择所需的gem和ruby版本,它将创建一个tgz,其中包含运行ruby脚本所需的一切。
这个tgz可以在你想要的地方解压缩(例如:/ opt / omnibusruby /),你只需要将脚本的shebang指向#!/opt/omnybusruby/embedded/ruby-2/bin/ruby
或创建一个别名/usr/bin/ruby -> /opt/omnybusruby/embedded/ruby-2/bin/ruby
。
如果您从服务器上完全没有互联网访问权限,那么可能是在笔记本电脑/系统上准备软件包并将其部署在遥控器上的最佳方式。