安装新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 时权限被拒绝
Heroku 推送被拒绝,无法通过 Bundler 安装 gem