rap*_*tle 134 ruby macos rubygems ruby-on-rails
跑' sudo gem list --local'和' gem list --local'给我不同的结果.我的宝石路径设置为我的主文件夹,只包含来自' gem list --local' 的宝石.
将gem安装在我的计算机上的不同目录中可能并不好,所以我应该以不同的方式设置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是空的.
jon*_*nii 141
与我建议sudo在安装宝石时不使用的所有其他帖子相反.
相反,我建议您安装RVM并开始幸福的生活与便携式宝石住宅和不同版本的Ruby都生活在一个屋檐下.
对于没有经验的人,从文档中:
RVM是一个命令行工具,它允许我们轻松地安装,管理和使用多个ruby环境和宝石集.
之所以与安装宝石sudo不仅仅是糟糕的gem install是,因为它安装了宝石ALL USERS作为root.如果你是唯一一个使用这台机器的人,这可能没问题,但如果你不是,那么它可能会导致奇怪.
如果您决定要吹走所有宝石并重新开始,那么以非root用户身份更容易,更安全.
如果你决定要使用RVM那么使用sudo将导致各种奇怪,因为你安装的每个Ruby版本RVM都有自己的GEM_HOME.
此外,如果您可以使您的开发环境尽可能接近您的生产环境,那就太好了,而且在生产环境中,您很可能将gem作为非root用户安装.
Nil*_*ils 118
您还可以在本地环境中安装gems(不带sudo)
gem install --user-install <gemname>
我建议您不要弄乱系统级配置,即使它是单用户计算机.
您可以通过查看gempath来查看宝石的去向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)
小智 33
更好的是,--user-install输入你的〜/ .gemrc文件,这样你就不必每次都输入它
gem: --user-install
Dav*_*mon 11
如果你
将以下内容添加到您的.bash_profile:
export GEM_HOME=/Users/‹your_user›/.gem
export PATH="$GEM_HOME/bin:$PATH"
在Terminal OR打开一个新标签,source ~/.bash_profile你很高兴!
相关(对于捆绑用户),如果您想要一个更轻松的替代RVM,将所有内容放在用户特定的知名目录中,我建议使用:
bundle install --path $HOME/.gem
如果你想将宝石安装到同一个地方
gem install --user-install GEMNAME
将.gem/ruby/RUBYVERSION在你的homedir 安装它们.(请参阅有关此问题的其他评论--user-install.)
这将使宝石可见gem list,可以通过gem uninstall等方式卸载,而无需sudo访问.gem或bundler安装的runnable脚本可以通过添加添加到您的路径中
$HOME/.gem/ruby/RUBYVERSION/bin
到你的$PATH.gem当你这样做时,它会告诉你这个问题gem install --user-install.
sudo gem install --no-user-install <gem-name>
将全局安装您的gem ,即它将可用于所有用户的上下文.