【问题标题】:How do I install ruby gems on Mac如何在 Mac 上安装 ruby​​ gems
【发布时间】:2016-09-08 01:42:46
【问题描述】:

如何在我的 Mac 上安装 RubyGems?

我尝试运行$ gem install rubygems-update,但没有运气。它返回

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

任何帮助都会很棒。谢谢

【问题讨论】:

  • 虽然如果你使用sudo这个命令可能会成功,但从长远来看,如果你使用像rbenv或rvm这样的版本管理器会更容易。
  • 如果您安装了 RubyGems,您只能从命令行运行 gem。所以你可能需要手动安装。
  • 对于 MacOS Majave,这里有一个很好的指南:gorails.com/setup/osx/10.14-mojave

标签: ruby macos rubygems


【解决方案1】:

我强烈建议使用包管理器和 Ruby 环境管理器。

在 Mac 上:

brew update
brew install ruby

# If you use bash
echo 'export PATH=/usr/local/Cellar/ruby/2.4.1_1/bin:$PATH' >> ~/.bash_profile 

# If you use ZSH:
echo 'export PATH=/usr/local/Cellar/ruby/2.4.1_1/bin:$PATH' >> ~/.zprofile

您可以这样做,但我建议使用 Ruby 环境管理器。 你有rbenvRVM
IMO 选择 rbenv:

brew install rbenv ruby-build

# bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile  

# zsh
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zprofile
echo 'eval "$(rbenv init -)"' >> ~/.zprofile  

# list all available versions:
rbenv install -l

# install a Ruby version:
rbenv install 2.4.1

# set ruby version for a specific dir
rbenv local 2.4.1

# set ruby version globally
rbenv global 2.4.1

rbenv rehash
gem update --system

【讨论】:

  • 好点+1。这就是我问问题的原因,我通过在新的 shell 中运行最后一个命令(而不以 sudo 运行它)来运行它。我现在正在尝试使用最新的 gems 2.4.1 安装我的第一个包 oauth,得到一些奇怪的 LoadError here
  • 如果您还立即在当前 shell 中运行 export 命令,则此答案的第一部分可以正常工作。我对安装rbenvrvm 没有兴趣;我只需要暂时访问公共 gem。谢谢!
  • 在 OSX 上,不要忘记退出 OSX 会话,然后重新登录以使对 bash 配置文件的更改生效。所以你不必搜索为什么这不起作用并结束here
  • 我将此添加到我的 $PATH 中,所以我不知道当 ruby​​ 更新时发生了什么问题:/usr/local/Cellar/ruby/$(ls -1rt /usr/local/Cellar/ruby / | tail -1)/bin
  • 每个人都在告诉我安装 rbenv。我不在乎Ruby,我可以做到。但这会影响我如何使用 Ruby 和运行 gem 中的命令(这是我真正关心的)吗?
【解决方案2】:

另一种变体是使用 brew-gem。

https://formulae.brew.sh/formula/brew-gem

https://github.com/sportngin/brew-gem

只需从文档中复制/粘贴:

brew install brew-gem

用法

brew gem install heroku

要安装特定版本:brew gem install heroku 3.8.3

使用 brew 安装的 ruby​​(/usr/local/bin/ruby) 安装:brew gem install heroku --homebrew-ruby

并带有特定版本:brew gem install heroku 3.8.3 --homebrew-ruby

要升级:brew gem upgrade heroku

卸载:brew gem uninstall heroku

查看信息:brew gem info heroku

注意:已安装的 gem 列在 brew 列表中,前缀为 gem-,如 gem-heroku

【讨论】:

    【解决方案3】:

    按照 Tulon 的建议安装 cocoapods 后,对我有用的方法是将 --user-install 标志传递给 gem install 命令,例如

    gem install rubygems-update --user-install

    来自https://guides.cocoapods.org/using/getting-started.html#sudo-less-installation

    【讨论】:

      【解决方案4】:

      在这种情况下您可能需要手动安装(根据official website):

      1. 转到official website 并下载 zip 文件
      2. 将文件解压缩到一个目录中。
      3. 然后进入终端目录并运行:ruby setup.rb

      【讨论】:

      • 看起来这个答案不是最好的路线;但如果它对某人有帮助,我会保留它。
      【解决方案5】:

      这表明您没有在该目录中写入内容的权限。而是使用此目录:

      sudo gem install -n /usr/local/bin cocoapods

      它非常适合我。

      (我使用的是 macOS Sierra,版本 10.12.6)

      【讨论】:

      • 我强烈建议不要使用系统 ruby​​ 和 sudo。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      相关资源
      最近更新 更多