安装新gem时权限被拒绝

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装新gem时权限被拒绝相关的知识,希望对你有一定的参考价值。

我在Windows 7中,我可以看到我所有的宝石都在:C: Users alotfi2.gem specs api.rubygems.org%443 quick Marshal.4.8

上周我们收到了来自管理员的电子邮件说:

迁移后,您的H:驱动器将是只读的。这意味着您将能够访问和传输文件,但您将无法编辑它们或将任何新文件保存到H:驱动器。

但是当我尝试安装新的宝石时,我得到了:

gem install chronic ERROR:执行gem时...(Errno :: EACCES)权限被拒绝@ rb_sysopen - H:/。gem / specs / api.rubygems.org%443 / quick / Marshal.4.8 / chronic-0.10.2。 gemspec

gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 2.3.0
  - RUBY VERSION: 2.4.2 (2017-09-14 patchlevel 198) [x64-mingw32]
  - INSTALLATION DIRECTORY: C:/Ruby24-x64/lib/ruby/gems/2.4.0
  - RUBY EXECUTABLE: C:/Ruby24-x64/bin/ruby.exe
  - EXECUTABLE DIRECTORY: C:/Ruby24-x64/bin
  - SPEC CACHE DIRECTORY: H:/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: C:/ProgramData
  - RUBYGEMS PLATFORMS:
    - ruby
    - x64-mingw32
  - GEM PATHS:
     - C:/Ruby24-x64/lib/ruby/gems/2.4.0
     - H:/.gem/ruby/2.4.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - C:majidcmderin
     - C:majidcmdervendorgit-for-windowscmd
     - C:majidcmdervendorconemu-maximus5ConEmuScripts
     - C:majidcmdervendorconemu-maximus5
     - C:majidcmdervendorconemu-maximus5ConEmu
     - C:Program Files (x86)Shoes
     - C:Ruby24-x64in
     - C:Usersalotfi2AppDataLocalProgramsPythonPython36-32Scripts
     - C:Usersalotfi2AppDataLocalProgramsPythonPython36-32
     - C:Usersalotfi2AppDataRoaming
pm
     - C:Program FilesDocker Toolbox
     - C:majidcmdervendorgit-for-windowsusrin
     - C:majidcmdervendorgit-for-windowsusrsharevimvim74
     - C:majidcmder

感谢您的帮助。谢谢。

答案

您的SPEC CACHE DIRECTORY仍链接到您的H:驱动器,要更改其值,您必须按照this thread中的说明设置环境变量GEM_SPEC_CACHE。 要在Windows上执行此操作,您需要使用SetX命令。例如:

SETX GEM_SPEC_CACHE C:UsersUser.gemabc  

您应该具有对目录C: Users User .gem abc的写访问权限才能使其正常工作。

以上是关于安装新gem时权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 ubuntu 16.04 上安装 ruby​​ gem 时权限被拒绝

Rails gem 权限被拒绝@ rb_sysopen

Heroku 推送被拒绝,无法通过 Bundler 安装 gem

如何删除 Permission denied @ rb_sysopen - Gem 安装错误?

制作:execvp:g ++:权限被拒绝

Errno::EACCES:在 Rails 上创建新应用程序 ruby​​ 时权限被拒绝