我使用 rbenv 安装 ruby,但在使用“GEM”时遇到此错误 -> 错误:执行 gem ... (Errno::EACCES) 权限被拒绝

问题描述 投票:0回答:1

我按照以下步骤安装 ruby https://github.com/rbenv/rbenv 在我的 MacBook M1 Sonoma 14.2.1 上。 一切都很完美,直到我需要使用“gem install bundler”。

终端:

    gem install bundler
    ERROR: While executing gem ... (Errno::EACCES)
    Permission denied @ dir_s_mkdir - /Users/pedrodiogo/.local/share/gem/specs
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:406:in mkdir' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:406:in fu_mkdir'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:384:in block (2 levels) in mkdir_p' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:382:in reverse_each'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:382:in block in mkdir_p' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:374:in each'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/fileutils.rb:374:in mkdir_p' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/source.rb:151:in fetch_spec'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/resolver/api_specification.rb:92:in spec' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/resolver/installer_set.rb:98:in add_always_install'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/dependency_installer.rb:322:in resolve_dependencies' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/commands/install_command.rb:205:in install_gem'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/commands/install_command.rb:230:in block in install_gems' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/commands/install_command.rb:223:in each'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/commands/install_command.rb:223:in install_gems' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/commands/install_command.rb:169:in execute'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/command.rb:327:in invoke_with_build_args' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/command_manager.rb:252:in invoke_command'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/command_manager.rb:192:in process_args' /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/command_manager.rb:150:in run'
    /usr/local/var/rbenv/versions/3.2.2/lib/ruby/3.2.0/rubygems/gem_runner.rb:51:in run' /usr/local/var/rbenv/versions/3.2.2/bin/gem:10:in 
        

终端:

gem env            
RubyGems Environment:
  - RUBYGEMS VERSION: 3.4.10
  - RUBY VERSION: 3.2.2 (2023-03-30 patchlevel 53) [arm64-darwin23]
  - INSTALLATION DIRECTORY: /usr/local/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0
  - USER INSTALLATION DIRECTORY: /Users/pedrodiogo/.local/share/gem/ruby/3.2.0
  - RUBY EXECUTABLE: /usr/local/var/rbenv/versions/3.2.2/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/local/var/rbenv/versions/3.2.2/bin
  - SPEC CACHE DIRECTORY: /Users/pedrodiogo/.local/share/gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /usr/local/var/rbenv/versions/3.2.2/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - arm64-darwin-23
  - GEM PATHS:
     - /usr/local/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0
     - /Users/pedrodiogo/.local/share/gem/ruby/3.2.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => true
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/local/var/rbenv/versions/3.2.2/bin
     - /opt/homebrew/Cellar/rbenv/1.2.0/libexec
     - /usr/local/var/rbenv/shims
     - /opt/homebrew/bin
     - /opt/homebrew/sbin
     - /Library/Frameworks/Python.framework/Versions/3.12/bin
     - /usr/local/bin
     - /System/Cryptexes/App/usr/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
     - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
     - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin

终端:

gem env home
/usr/local/var/rbenv/versions/3.2.2/lib/ruby/gems/3.2.0

还有一个问题,我需要安装rails,我是否应该使用“sudo”命令? 你可以帮帮我吗?预先感谢您!

我试图在网上修复这个问题,但我做不到。我尝试更改权限,尝试重新安装brew,但没有任何效果。

ruby-on-rails rubygems sudo rbenv rbenv-gemset
1个回答
0
投票

看看你的目录的所有权,可能你对

sudo
做了一些你不应该做的事情,并且该目录属于
root
而不是你自己的用户。可能你需要做一个
sudo chown -R $USER /Users/pedrodiogo/.local

© www.soinside.com 2019 - 2024. All rights reserved.