使用 'sudo' 和不使用 sudo 时出现 RubyGems 安装错误

标签 ruby installation rubygems

我有一台运行 Ubuntu Hardy 的机器,它提供了自己的 RubyGems 包。不幸的是,该版本的 RubyGems (1.1.1) 太旧,无法做任何有用的事情,所以我决定手动将 RubyGems 更新到当前版本 (1.3.6)。那部分进行得很顺利,如果我执行 gem -v,我会得到 1.3.6,这是预期的。问题是当我尝试执行:sudo gem install rack 时,它返回此错误:

ERROR:  While executing gem ... (Errno::EACCES)
Permission denied - /home/username/.gem

通常当我以 root 身份安装 gems 时,它知道将其安装到 /usr/lib/ruby/gems 中,那么它为什么要检查我的主目录?另一个怪癖是当我执行 gem install rack(不是以 root 身份)时,它说:

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.

这是我想要它去的地方。我已经尝试清除 source_caches,尝试不同版本的 RubyGems (1.3.5),使用 -i 强制安装到 /usr/lib 无济于事。关于为什么 RubyGems 在以 root 身份安装时如此坚持检查我的 /home 目录有什么想法吗?

最佳答案

听起来可能是路径问题加上安装了多个版本。

输出之间的任何差异:

sudo gem env

gem env

关于使用 'sudo' 和不使用 sudo 时出现 RubyGems 安装错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2684810/

相关文章:

eclipse - 如何在MacOS上将Eclipse.app移动到/Applications下?

mysql - 无法在带有 ruby​​ 版本 2.1.5 的 Windows 8.1 中安装 mysql-2.9.1.gem

ruby-on-rails - 无法使用 rvm install rails 5 gem

ruby-on-rails - 如何在 Rails 中引入模块

installation - 维克斯安装

ruby-on-rails - Nokogiri 安装失败 - 缺少 libxml2

ruby-on-rails - FileUtils 是否需要不可用的 Ruby 版本?

javascript - 变量计算完成后如何将变量从 Controller 传递给javascript?

Ruby 和谷歌地图 API

installation - 当软件包已安装时 msiexec 安静安装