原文地址:https://www.zfanw.com/blog/error-while-executing-gem-gem-remote-fetch-error.html

我对命令行下安装 gem 包或是 npm 包有很大的心理阴影,因为出现无法​安装的概率实在太大了 – 每次都要破口大骂 gfw。

这一回是在更新 gem 时:

gem update --system

返回的错误如下:

ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)

Errno::ETIMEDOUT: Operation timed out – connect(2) for “s3.amazonaws.com” port 443 (https://api.rubygems.org/specs.4.8.gz)

出现 s3 的地址是因为此前 https://rubygems.org 源地址不行,所以执行了 gem source 添加源库:

gem source --add https://s3.amazonaws.com/production.s3.rubygems.org/

如你所见,还是报错。

查了资料,不巧 StackOverflow 上这个问题提到了 Proxy,我国的国情,不挂代理简直混不下去 IT 业,所以我的 Mac OSX 的代理环境是这样的:

privoxy(http://localhost:8118) -> sslEdge(http://localhost:100010)全局

Privoxy 我是用来去除一些广告。且把死马当活马医吧:

export http_proxy=http://localhost:8118
export https_proxy=http://localhost:8118
gem update --system

然后目瞪口呆:

Updating rubygems-update
Fetching: rubygems-update-2.4.7.gem (100%)
Successfully installed rubygems-update-2.4.7
Parsing documentation for rubygems-update-2.4.7
Installing ri documentation for rubygems-update-2.4.7
Installing darkfish documentation for rubygems-update-2.4.7
Done installing documentation for rubygems-update after 2 seconds
Installing RubyGems 2.4.7
RubyGems 2.4.7 installed
Parsing documentation for rubygems-2.4.7
Installing ri documentation for rubygems-2.4.7

竟然真是代理的问题。所以我猜想是 iterm2 不支持 socks 代理,因此全局并未生效。而通过 Privoxy 的 HTTP 代理做一次转发,就正常了 – 所以,还是 gfw 的问题。

ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)的更多相关文章

  1. 安装Cocoapods时候ERROR: While executing gem ... (Errno::EPERM)

    OS X 10.11 安装Cocoapods 出现问题的解决方法 今天尝试用 Cocoapods安装个第三方库.. 输入pod install, 发现 command not find. WTF! 估 ...

  2. CocoaPod升级(以及ERROR: While executing gem ... (Errno::EPERM)解决办法)

    最近pods  0.39.0 升级1.1.1  ,发现一个坑,好纠结,好歹最后解决了 过程如下: 本来我想直接执行: $ sudo gem install cocoapods  // 安装cocoap ...

  3. cocoods 出现下面的问题:ERROR: While executing gem ... (Errno::EPERM)

    今天安装cocoods 出现下面的问题:ERROR:  While executing gem ... (Errno::EPERM)     Operation not permitted - /us ...

  4. ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod

    因为突然要用到cocospod,突然发现在使用pod install的时候出现 -bash: pod: command not found 我去-不知道为什么,然后我就想重新安装下cocospod,在 ...

  5. 【CocoaPods】ERROR: While executing gem ... Gem::DependencyError

    今天安装 CocoaPods 时遇到了这个问题. ERROR: While executing gem ... (Gem::DependencyError) Unable to resolve dep ...

  6. gem install cocoapods ERROR: While executing gem ... (Gem::FilePermissionError)

    在cocoapods 执行 sudo gem install cocoapods 的时候出现  While executing gem ... (Gem::FilePermissionError)   ...

  7. warning insecure world writable dir ruby mode 040777,gem insstal sass error failed to build gem native extension

    //1.删除原gem源 gem sources --remove https://rubygems.org/ //2.添加国内镜像 gem source -a https://gems.ruby-ch ...

  8. (原创)vagrant up 异常报错,出现 There was an error while executing `VBoxManage` 的解决方法

    最近在使用 vagrant homestead 时,不小心在虚拟机上使用了 exit 命令退出虚拟机,导致再使用 vagrant up 时出现以下错误: Bringing machine 'larav ...

  9. kafka创建会话,报Error while executing topic command : Replication factor: 1 larger than available brokers: 0.

     bin/kafka-topics.sh --create --zookeeper es1:2181 --replication-factor 1 --partitions 1 --topic top ...

随机推荐

  1. bootgrid修改成可以全勾选和全取消勾选操作

    1. 引言 由于项目需要,需要在不同页面上选择全勾选能全部勾选所有的记录,反勾选也如此.这个需求可以解决了一个样例:如果有150条记录,当前页就10条,你又在每一个页面勾选部分的记录,然后,如果你要全 ...

  2. Android Studio gradle配置详解

    android gradle配置详解 AppExtension类及其属性 可能大部分人看到AppExtension类会感觉到非常的陌生,其实我们在app中的build.gradle中填写配置信息的时候 ...

  3. ocp linux 基础要点

    基本命令: 创建/修改/删除用户    useradd/usermod/userdel 创建/修改/删除用户组    groupadd/groupmod/groupdel    修改所属用户/所属用户 ...

  4. XHR简介

    在XHR诞生前,网页要获取客户端和服务器的任何状态更新,都需要刷新一次,在XHR诞生后就可以完全通过JS代码异步实现这一过程.XHR的诞生也使最初的网页制作转换为开发交互应用,拉开了WEB2.0的序幕 ...

  5. python 全栈开发,Day122(人工智能初识,百度AI)

    一.人工智能初识 什么是智能? 我们通常把人成为智慧生物,那么”智慧生物的能力”就是所谓的”智能”我们有什么能力?听,说,看,理解,思考,情感等等 什么是人工智能? 顾名思义就是由人创造的”智慧能力” ...

  6. DOM树示意图

  7. 调用write方法打印语句到浏览器

    1.document.write("我爱学习--喜欢学习");​  //   在浏览器中输出的结果为:我爱学习--喜欢学习 2.首先,声明一个变量. var str="h ...

  8. 把linux文件夹压缩成tar.gz的命令

    解压 tar zxvf 文件名.tar.gz 压缩 tar zcvf software.tar.gz /usr/local/software

  9. JS高级 - 面向对象3(面向过程改写面向对象)

    改写: 1.前提:所有东西都在 onload 里 2.改写:不能有函数嵌套,可以有全局变量 onload --> 构造函数 全局变量 --> 属性 函数 --> 方法 4.改错: t ...

  10. C# 读取WAV文件(详细)

    class WAVReader { #region RIFF WAVE Chunk private string Id; //文件标识 private double Size; //文件大小 priv ...