如何仅更新用户目录中安装的Gems?

时间:2018-01-07 12:32:28

标签: bash macos rubygems

我一直在使用gem install GEMNAME --user-install命令在macOS(10.13.2)上安装其他Ruby Gems。为了使用它们,我创建了一个 .bash_profile 并添加了以下行:

export PATH=$PATH:~/.gem/ruby/2.3.0/bin

当我尝试更新这些宝石时出现问题。我可以通过指定名称单独更新它们,但是由于命令尝试同时更新系统Gems,因此运行gem update会导致文件权限错误。

同样,当我使用命令gem update --user-install时,这会尝试将所有本地Gems的最新版本安装到用户目录中,这似乎是不好的做法。另外,我希望远离使用rbenvrvm,以免使事情变得复杂;我只使用了一些额外的宝石。

基本上,我正在寻找一种方法来运行gem update,并且只定位当前位于 /Users/USERNAME/.gem/ruby/2.3.0 目录中的Gems。< / p>

目前,我的Gem Enviroment看起来像这样:

Ruby RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.2
  - RUBY VERSION: 2.3.3 (2016-11-21 patchlevel 222) [universal.x86_64-darwin17]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.3.0
  - USER INSTALLATION DIRECTORY: /Users/USERNAME/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/local/bin
  - SPEC CACHE DIRECTORY: /Users/USERNAME/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-17
  - GEM PATHS:
    - /Library/Ruby/Gems/2.3.0
    - /Users/USERNAME/.gem/ruby/2.3.0
    - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0
  - GEM CONFIGURATION:
    - :update_sources => true
    - :verbose => true
    - :backtrace => false
    - :bulk_threshold => 1000
  - REMOTE SOURCES:
    - https://rubygems.org/
  - SHELL PATH:
    - /usr/local/bin
    - /usr/bin
    - /bin
    - /usr/sbin
    - /sbin
    - /Users/USERNAME/.gem/ruby/2.3.0/bin

0 个答案:

没有答案