为了账号安全,请及时绑定邮箱和手机立即绑定

'sudo gem install'或'gem install'和gem位置

/ 猿问

'sudo gem install'或'gem install'和gem位置

慕姐829404 2019-10-05 15:04:48

运行' sudo gem list --local'和' gem list --local'给我不同的结果。我的宝石路径设置为我的主文件夹,并且仅包含来自' gem list --local' 的宝石。


在计算机上的不同目录中安装gems可能不是一件好事,所以我应该对gem路径进行不同的设置,并且sudo在安装某些东西时应该始终使用吗?


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为空。


查看完整描述

3 回答

?
www说

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


相反,我建议您安装RVM并开始生活在一个屋顶下的便携式宝石房屋和其他版本的Ruby,从而过上幸福的生活。


对于初学者,可以从文档中获取:


RVM是一个命令行工具,它使我们能够轻松地安装,管理和使用多个红宝石环境和宝石组。


之所以与安装宝石sudo不仅仅是糟糕的gem install是,因为它安装了宝石ALL USERS作为root。如果您是唯一使用此机器的人,这可能会很好,但如果不是,则可能会导致异常。


如果您决定要炸掉所有的宝石,然后重新开始,那么以非root用户的身份进行操作会更容易,更安全。


如果您决定要使用,RVM则使用sudo会引起各种怪异,因为您安装的每个Ruby版本RVM都有其自己的GEM_HOME。


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


查看完整回答
反对 回复 2019-10-05
?
慕桂英546537

您还可以使用以下命令在本地环境中安装gems(不带sudo):


gem install --user-install <gemname>

我建议您不要将系统级配置弄乱,即使它是单用户计算机也是如此。


您可以通过查看宝石路径来检查宝石的位置gem environment。就我而言,它是“〜/ .gem / ruby / 1.8”。


如果您需要将本地安装中的某些二进制文件添加到您的路径中,则可以将一些内容添加到您的bashrc中,例如:


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)


查看完整回答
反对 回复 2019-10-05
?
天涯尽头无女友

相关(适用于捆绑用户),如果您想用更轻巧的替代RVM,将所有内容放在用户特定的知名目录中,我建议使用:


bundle install --path $HOME/.gem

如果您想将gems安装到同一位置


gem install --user-install GEMNAME

将它们安装.gem/ruby/RUBYVERSION在您的homedir中。(请参阅有关此问题的其他评论--user-install。)


这将使宝石对用户可见gem list,可通过进行卸载gem uninstall,而无需sudo访问。通过gem或bundler安装的可运行脚本可以通过添加到您的路径中


$HOME/.gem/ruby/RUBYVERSION/bin

给你$PATH。gem如果设置时没有设置,它本身会告诉您gem install --user-install。


查看完整回答
反对 回复 2019-10-05

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信