我有一台 CentOS VM,需要在上面安装最新版本的 Ruby。不幸的是,yum 只提供 Ruby 1.8.6,所以我尝试从源代码安装 Ruby。以下是我使用的:
cd /usr/src
sudo -s
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz
tar -xvzf ruby-1.9.3-p125.tar.gz
cd ruby-1.9.3-p125
./configure
make && make install
问题是,完成此操作后,我只能以普通用户身份使用 Ruby,但我需要以 root 身份使用它来安装一些 gem。例如,作为普通用户,我可以执行此操作,ruby -v
它可以正常工作,但sudo ruby -v
输出bash: ruby: command not found
。
我缺少什么才能使我从源代码安装的东西可供所有用户使用?
答案1
对于 Ruby 来说,你需要使用右心室——它让整个事情变得简单多了。
不过,一般来说,如果您构建和安装的某个软件并非对所有用户都可用,那么问题很可能是它没有被安装到库存中的某个地方PATH
。如今这种情况非常罕见,因为大多数构建系统都足够智能,不会这样做,但如果您不知何故弄糊涂了,则需要纠正它。这是构建系统特有的,但如果它遵循 autoconf 约定,添加--prefix=/usr/local
通常就可以解决问题。否则,请查阅文档,了解如何告诉特定程序如何安装到合理的地方。