在 Bundle Install [Rails 5.1.3, Ruby 2.3.3] 上尝试写入 C:/Users/REMOTE~1/AppData/ 时出错

There was an error while trying to write to C:/Users/REMOTE~1/AppData/ on Bundle Install [Rails 5.1.3, Ruby 2.3.3]

我为此绞尽脑汁好几个小时了。

我突然无法 运行 在我的项目上执行 bundle update 和 bundle install 命令。

我收到以下错误:

There was an error while trying to write to C:/Users/REMOTE~1/AppData/Local/Temp/bundler-compact-index-20181216-9268-sd4t9f/versions. It is likely that you need to grant write permissions for that path.

1.) 该路径和用户不存在

2.) 我查看了环境变量,它们都指向我的用户

3.) 这与我的项目无关,因为即使我尝试创建一个新的 rails 项目,rails 新命令的一部分 运行s 'bundle install' 所以那也失败了。

4.) 我是管理员,所以我不明白为什么我没有完整的 read/write 访问权限。

额外信息:

捆绑器环境:

## Environment

```
Bundler       1.17.2
  Platforms   ruby, x86-mingw32
Ruby          2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32]
  Full Path   C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe
  Config Dir  C:/ProgramData
RubyGems      2.5.2
  Gem Home    C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0
  Gem Path    C:/Users/correctuser/.gem/ruby/2.3.0;C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0
  User Path   C:/Users/correctuser/.gem/ruby/2.3.0
  Bin Dir     C:/RailsInstaller/Ruby2.3.3/bin
Tools
  Git         2.19.1.windows.1
  RVM         not installed
  rbenv       not installed
  chruby      not installed
```

## Bundler Build Metadata

```
Built At          2018-12-11
Git SHA           43e950846
Released Version  true

```

Gem环境:

RubyGems Environment:
 - RUBYGEMS VERSION: 2.5.2
  - RUBY VERSION: 2.3.3 (2016-11-21 patchlevel 222) [i386-mingw32]
  - INSTALLATION DIRECTORY: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0
  - USER INSTALLATION DIRECTORY: C:/Users/correctuser/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe
  - EXECUTABLE DIRECTORY: C:/RailsInstaller/Ruby2.3.3/bin
  - SPEC CACHE DIRECTORY: C:/Users/correctuser/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: C:/ProgramData
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32
  - GEM PATHS:
     - C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0
     - C:/Users/correctuser/.gem/ruby/2.3.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - C:\Program Files\ConEmu\ConEmu\Scripts
     - C:\Program Files\ConEmu
     - C:\Program Files\ConEmu\ConEmu
     - C:\Program Files (x86)\Common Files\Oracle\Java\javapath
     - C:\windows\system32
     - C:\windows
     - C:\windows\System32\Wbem
     - C:\windows\System32\WindowsPowerShell\v1.0\
     - C:\windows\System32\OpenSSH\
     - C:\Program Files\Git\cmd
     - C:\Program Files\PuTTY\
     - C:\Program Files\nodejs\
     - C:\Program Files (x86)\QuickTime\QTSystem\
     - C:\RailsInstaller\Git\cmd
     - C:\RailsInstaller\Ruby2.3.3\bin
     - C:\Users\correctuser\AppData\Local\Microsoft\WindowsApps
     - C:\Users\correctuser\AppData\Roaming\npm
     - C:\Program Files\heroku\bin
     - C:\Program Files\JetBrains\RubyMine 2018.3\bin 

经过 3 天的修补和尝试找到解决方案后,我想出了以下办法。

1.) 正如@anothermh 提到的,最好在 Windows 子系统上为 Linux Installing Ruby on WSL (Windows Subsystem for Linux) 安装 Ruby 以避免此类情况。

2.) 对于仍想在 windows 系统上继续使用 Ruby 的人。

当您的捆绑器 ruby​​gems 副本损坏并缓存到您的系统时,会发生此错误。

我通过删除 C:/users/my_user/.bundle

中的文件夹 .bundle 解决了这个问题

重新安装捆绑器,此错误消失,您的 gem 将照常编译和安装。