淘宝RubyGems和NPM镜像的使用
题记:前不久在windows下配置jekyll环境时,需要用到gem,一个ruby的管理包,类似于管理nodejs包的npm。安装ruby环境后,使用gem安装包时请求国外的[https://rubygems.org/]镜像一直连不上或间歇性连接失败,之后换成淘宝的RubyGems镜像后,啪啦啪啦地就完事了...

Section One
上面说到,使用gem请求rubygems.org资源时会遇到长时间无法响应的问题,解决办法就是使用淘宝的RubyGems镜像,它是一个完整rubygems.org镜像,并且每隔大概10分钟会同步一次官方的镜像,保证同步成功和服务。镜像地址请访问:RubyGems,里面有使用的步骤。
jekyll安装
网上的教程大多比较旧或是不太完善,出现了问题又没有相关解决方案,下面来说说我的安装步骤:
window下安装
1.从rubyinstaller地址下载RubyInstaller和DevKit,注意它们对应的版本,如下图所示:

2.安装Ruby,推荐安装在系统盘,添加到用户环境变量,如下图所示:

3.解压DevKit包到系统盘C:\DevKit,打开命令行,进入该目录,然后执行以下命令:
$ ruby dk.rb init
$ ruby dk.rb install
4.修改下载镜像,删除rubygems.org源,添加淘宝RubyGems镜像,查看source和更新source cache:
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/
$ gem sources -l
$ gem sources -u
5.安装jekyll包:
$ gem install jekyll
6.安装Python并配置用户环境变量和scripts下的easy_install Path,推荐下载Python2.7版本,如下图所示:

7.安装pygments语法高亮包,不要安装到最新版:
$ gem install pygments.rb --version "=0.5.0"
7.如果你不想使用jekyll原生pygments语法高亮,你可以安装rouge包,推荐使用pygments,生成jekyll项目后的_config.yml配置文件加入highlighter: pygments,旧版本是pygments: true:
$ gem install rouge
8.安装解析markdown的包:
$ gem install rdiscount
9.安装wdm(Windows Directory Monitor):
$ gem install wdm
10.查看已安装的gem:
$ gem list
11.卸载gem包: $ gem uninstall gem-name
我的gem包安装目录:C:\Ruby193\lib\ruby\gems\1.9.1\gems,在这个目录下,你可以看到通过上面命令安装的一些包,一些是jekyll的依赖包。另外可能出现的错误:C:/Ruby193/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.9/lib/posix/spawn.rb:164: warning: cannot close fd before spawn 'which' 不是内部或外部命令,也不是可运行的程序或批处理文件。解决办法(安装pygments前注意版本,安装后再重装会导致依赖包出错): $ gem install pygments.rb --version "=0.5.0" gem uninstall pygments.rb --version "=0.5.2"
ubuntu下安装
ubuntu下安装就简单多了,不用考虑很多啥Python,C++,Ruby等的安装配置问题,执行以下命令即可:
$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo gem install jekyll
$ sudo gem install rdiscount
Section Two
同理,在使用npm管理一些包时,也会发生一些长时间无法获取源的情况。如果使用淘宝的镜像cnpmjs.org,速度马上提升n倍,模块同步频率大概也是10分钟一次,以保证尽量与官方npmjs.org镜像同步。使用起来也非常方便,并且通过alias方式安装后也可以使用原来的npm方式管理包,使用教程地址:cnpm,利用cnpm也可以搭建个人私有仓库。
Last
很喜欢用markdown写博客,像写代码一样,附上jekyll的教程:jekyll,淘宝的镜像服务真的挺好的,技术也很牛逼,文笔比较差,不知道说什么了,不知不觉夜深了,该睡觉了,=_=~
念念不忘,必有回响!
淘宝RubyGems和NPM镜像的使用的更多相关文章
- CentOS安装node.js-8.11.1+替换淘宝NPM镜像
注:以下所有操作均在CentOS 6.8 x86_64位系统下完成. #准备工作# 由于node.js-8.11.1在源码编译安装的时候需要gcc 4.9.4或clang++ 3.4.2以上版本的支持 ...
- npm更换成淘宝镜像源以及cnpm
1.需求由来 由于node安装插件是从国外服务器下载,受网络影响大,速度慢且可能出现异常.所以如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队(阿里巴巴旗下业务阿里云)干了这事.来自官网:“ ...
- npm 淘宝镜像与官方源 切换
1.临时使用 npm --registry https://registry.npm.taobao.org install 包名 2.永久设置为淘宝镜像 npm config set registry ...
- npm i node-sass 报错&npm 镜像切换
npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao ...
- 摆脱npm的网络问题: 淘宝npm镜像
在使用npm install的时候, 经常会因为网络问题, 各种安装不顺利, 一个字'烦躁'. 自从遇上淘宝npm之后,执行cnpm install之后, 怎一个'快'字了得. 闲话不多说, 直接上干 ...
- npm淘宝镜像
前端开发会用到npm的包,但是国外的速度有时候很慢,幸运的是,淘宝做了镜像,一起来看看吧. https://npm.taobao.org/
- npm 国内淘宝镜像cnpm
某些插件很奇怪,需要用国内的镜像下载才可以 #安装淘宝镜像npm install cnpm -g --registry=https://registry.npm.taobao.org #使用淘宝镜像下 ...
- 淘宝的ruby镜像已无人维护,使用ruby-china的RubyGems镜像
淘宝的镜像已经无人维护了,参考 https://ruby-china.org/topics/29250 https://gems.ruby-china.org/ 使用新的镜像 $ gem source ...
- 修改npm包管理器的registry为淘宝镜像(npm.taobao.org)
起因 安装了node,安装了npm之后,官方的源实在是 太慢了! 看了看淘宝的npm镜像, http://npm.taobao.org/ 竟然说让我再下载一个cnpm,要不然就每次都得install ...
随机推荐
- toad安装错误—Failed to Download products and updates
近日,在公司云电脑上安装Toad for oracle,安装到中途总会出现如下错误,个人认为是Toad安装时需要下载/更新一些组件,公司网络对下载有所限制,导致报错,无法进行后续安装. 图1.Toad ...
- 初学oracle遇到些小麻烦
前段时间学习了Oracle数据库,在超级用户sys下运行一些基本语句的时候都没有发现有什么问题,但是却发现不能执行删除字段的的命令,老师检查说可能是权限不够,但是在授权之后依旧不能完成该语句,所以就另 ...
- SpringCloud微服务实战:一、Eureka注册中心服务端
1.项目启动类application.java类名上增加@EnableEurekaServer注解,声明是注册中心 1 import org.springframework.boot.SpringAp ...
- c# LRU实现的缓存类
在网上找到网友中的方法,将其修改整理后,实现了缓存量控制以及时间控制,如果开启缓存时间控制,会降低效率. 定义枚举,移除时使用 public enum RemoveType { [ ...
- Co. - VMware - vSphere
VMware vSphere 组件 VMware vSphere是VMware推出的基于云计算的新一代数据中心虚拟化套件,它由VMware ESXi.VMware vCenter Server.VMw ...
- ThinkPHP之__construct()和__initialize()
ThinkPHP中的__initialize()和类的构造函数__construct()网上有很多关于__initialize()的说法和用法,总感觉不对头,所以自己测试了一下.将结果和大家分享.不对 ...
- Lavavel5.5源代码 - 并发数控制
app('redis')->connection('default')->funnel('key000') // 每个资源最大锁定10秒自动过期,只有60个资源(并发),在3秒内获取不到锁 ...
- php-5.6.26源代码 - include_once、require_once、include、require、eval 的opcode处理器
# ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER 实现在文件 php-\Zend\zend_vm_execute.h static int ZEND_FASTCALL ...
- zabbix使用iostat命令参数监控磁盘性能
iostat命令 先说一个坑把,在开始监控的时候使用命令iostat -dtkx,得到的结果看上去没问题,但是在web监控窗口数据就说不变动,为啥呢,因为iostat这个命令得到的第一个数据始终是磁盘 ...
- python字符串编码
python默认编码 python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII. python 3.x默认的字符编码是unicode,默认的文件编码是utf-8. 中文乱码问题 无 ...