Ruby Can';t使用asdf安装gems

Ruby Can';t使用asdf安装gems,ruby,asdf-vm,Ruby,Asdf Vm,因此,我将切换到一个使用ruby的项目。他们使用asdf作为包管理器 我在安装gems时遇到问题,我正在使用zsh,我想路径可能有问题 运行gem安装bundler输出:您没有/Library/Ruby/Gems/2.3.0目录的写入权限。 ruby-v 输出:ruby 2.3.7p456(2018-03-28修订版63024)[universal.x86\u 64-darwin18] 哪个ruby 输出:/usr/bin/ruby 我尝试用asdf global ruby 2.5.3为ruby

因此,我将切换到一个使用
ruby
的项目。他们使用
asdf
作为包管理器

我在安装gems时遇到问题,我正在使用
zsh
,我想路径可能有问题

运行
gem安装bundler
输出:
您没有/Library/Ruby/Gems/2.3.0目录的写入权限。

ruby-v
输出:
ruby 2.3.7p456(2018-03-28修订版63024)[universal.x86\u 64-darwin18]

哪个ruby
输出:
/usr/bin/ruby

我尝试用
asdf global ruby 2.5.3
为ruby设置一个全局版本,但这似乎没有改变版本

这是我的
gem环境

RubyGems Environment:
  - RUBYGEMS VERSION: 2.5.2.3
  - RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [universal.x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.3.0
  - USER INSTALLATION DIRECTORY: /Users/carlos.grijalva/.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/carlos.grijalva/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-18
  - GEM PATHS:
     - /Library/Ruby/Gems/2.3.0
     - /Users/carlos.grijalva/.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:
     - /Users/carlos.grijalva/.asdf/shims
     - /Users/carlos.grijalva/.asdf/bin
     - /Users/carlos.grijalva/bin
     - /usr/local/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin

听起来您可能需要在
.zshrc
中添加相关行,以便识别asdf垫片。你可以找到说明书

对于macOS&zsh,要附加到.zshrc的正确行包括:

echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.zshrc
echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.zshrc

这样做之后,
source~/.zshrc
或重新启动终端

似乎是asdf安装/etc问题。您是否在shell启动中添加了asdf行?嗯,应该在
.zshrc
文件中完成吗?不确定在哪里添加行,因为这是您的启动文件。当您安装asdf时,它实际上说明了要做什么。我不是说这是(或唯一)问题,而是。。。实际上,您需要让asdf访问您的垫片/etc.Hmm,试图找出要为此添加的确切行…也看到了这一点,并运行了这些确切的命令。出于某种原因,我仍然得到:
您没有/Library/Ruby/Gems/2.3.0目录的写入权限。
而且我似乎无法使用
asdf
更改Ruby的版本。不知道还能是什么happening@CarlosG90你有没有打开一个新的终端,让它们真正生效?所有这些命令所做的就是修改启动脚本。是的,修改并运行
source~/.zshrc
还检查了实际文件是否已更改,并多次重新启动终端。Ruby版本似乎没有改变。@CarlosG90您能运行
哪个Ruby
哪个asdf
哪个gem
并发布结果吗?另外,检查$PATH并查看
/Users/username/asdf
文件夹与
/usr/bin
相关的位置(
/usr/bin
是保存系统ruby/gem命令的位置)路径似乎不正确,我可以添加它们,现在垫片就在那里了!谢谢