首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'sudo gem install’或'gem install‘和gem位置

‘'sudo gem install’或'gem install‘和gem位置
EN

Stack Overflow用户
提问于 2010-01-23 01:16:10
回答 8查看 140.1K关注 0票数 154

运行'sudo gem list --local‘和'gem list --local’会得到不同的结果。我的gem路径设置为我的主文件夹,并且只包含来自'gem list --local‘的gem。

将gem安装在我的计算机上的不同目录可能并不好,所以我应该设置不同的gem路径吗?我应该在安装某些东西时始终使用sudo吗?

代码语言:javascript
复制
my ~/.profile
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

~/.bash_profile为空。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-01-23 02:10:48

与所有其他帖子相反,我建议在安装gem时不要使用sudo

相反,我建议您安装并开始幸福的生活,拥有便携的gem home和不同版本的Ruby,它们都生活在一个屋檐下。

对于外行,来自the documentation

ruby RVM是一个命令行工具,它允许我们轻松地安装、管理和处理多个

环境和gem集。

使用sudo安装gem比安装gem install更糟糕的原因是,它以root用户身份为所有用户安装gem。如果你是唯一使用这台机器的人,这可能没问题,但如果你不是,这可能会导致怪异。

如果您决定要扔掉所有的gem并重新开始,那么以非root用户的身份执行此操作将更容易、更安全。

如果你决定要使用RVM,那么使用sudo会带来各种各样的奇怪之处,因为你通过RVM安装的每个Ruby版本都有自己的GEM_HOME。

此外,如果您可以使您的开发环境尽可能地接近您的生产环境,并且在生产环境中,您很可能会以非root用户的身份安装gem,那就更好了。

票数 152
EN

Stack Overflow用户

发布于 2013-08-18 09:00:06

您还可以使用以下命令在本地环境中安装gem(没有sudo)

代码语言:javascript
复制
gem install --user-install <gemname>

我建议这样做,这样即使它是单用户计算机,也不会影响系统级配置。

您可以通过使用gem environment查看gempaths来检查gem的去向。在我的例子中是"~/.gem/ruby/1.8“。

如果需要将本地安装中的一些二进制文件添加到路径中,可以向bashrc添加一些内容,如下所示:

代码语言:javascript
复制
if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

(来自http://guides.rubygems.org/faqs/#user-install)

票数 145
EN

Stack Overflow用户

发布于 2015-11-11 20:58:02

更好的做法是,将--user-install放在~/.gemrc文件中,这样就不必每次都键入它

代码语言:javascript
复制
gem: --user-install
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2119064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档