• 以前都是用 puts,最近才试了下 byebug,发现挺好用的。。

  • Good!

  • ruby-china 的源有点慢 at 2016年08月09日

    #20 楼 @huacnlee 目前的实现方式下 rubygems.org 上更新的 gem 大概多久会同步到 ruby-china?或者还是和以前一样几乎无延迟?

  • ruby-china 的源有点慢 at 2016年08月09日

    #18 楼 @huacnlee 辛苦了,谢谢~

    有空能否分享下 bundler 从服务器获取解析依赖所需数据的几种方式(没搜到相关信息),以及目前镜像站的实现方式(找不到 bundler-api 的文档)?

    根据我的观察,bundler 从服务器获取解析依赖所需数据的方式有以下三种:

    1. /versions,其内容似乎是服务器上所有 gem 的所有可用版本列表。返回的内容相当大,ruby-china 约 9.3M, rubygems.org 为 13M,即使 gzip 压缩后也分别达 3.8M, 5.2M。感觉对本地网络、服务器带宽的要求都会比较高。
    2. 如果 /versions 不可用,请求 /api/v1/dependencies
    3. 如果前两者都不可用,请求用到的各个 gem 的每个版本(不知道从哪儿弄来版本列表的)的 gemspec 文件,请求地址如 https://gems.liveneeq.com/quick/Marshal.4.8/mysql2-0.1.0.gemspec.rz
  • ruby-china 的源有点慢 at 2016年08月08日

    #15 楼 @huacnlee bundle update --verbose

  • Nginx 修改默认端口无效 at 2016年08月08日

    sudo ss -tulpn | gawk '{printf "%-6s %-9s %-19s %s\n", $1, $2, $5, $7}' 查下哪个进程占用了 80 端口。

  • ruby-china 的源有点慢 at 2016年08月08日

    #13 楼 @huacnlee api 接口失败:

  • ruby-china 的源有点慢 at 2016年08月06日

    #3 楼 @FrankFang 你用的什么代理?自己撘的?哪里的 vps?

  • ruby-china 的源有点慢 at 2016年08月04日

    确实时常失败,目前用 gemstash 搭建了一个缓存镜像,效果还可以。

  • 有些 Gem 总是有问题 at 2016年07月30日

    我们也经常遇到这个问题,目前用 gemstash 自建了一个缓存镜像,以 ruby-china 作为上游。 初步使用体验还不错,安装各个 gem 的过程中不再出错了,只是对 /api 的请求仍然经常失败。 接下来打算自己搞个代理,api 通过代理转发到 rubygems.org,下载 gem 文件仍然使用 ruby-china 的源。

  • Npm.

  • #7 楼 @greatghoul 我们原先也使用 bower, 现在都改用 npm 了。 使用 bower 要注意 postinstalll 只在真的安装了包时才会触发,测试起来不太方便。不过也有一个优点是会将新安装的包名称传给脚本。

  • #5 楼 @greatghoulpackage.json 中指定 postinstall 要执行的脚本:

    "scripts": {
        "postinstall": "./npm_postinstall.sh"
    },
    

    package.json 同级创建 npm_postinstall.sh 文件,内容如下:

    #!/bin/bash
    
    mkdir -p public/fonts
    rm -rf public/fonts/*
    
    if [ -d "node_modules/bootstrap" ]; then
      rm -rf public/fonts/bootstrap
      cp -r node_modules/bootstrap/dist/fonts/* public/fonts/
    fi
    
    if [ -d "node_modules/font-awesome" ]; then
      rm -rf public/fonts/font-awesome
      cp -r node_modules/font-awesome/fonts/* public/fonts/
    fi
    

    说明:

    1. postinstall 可指定任何可执行的脚本(Shell Script, Python, Ruby 等)或命令。我们开发、部署都使用 Linux 系统,而我对 Shell Script 又很熟悉,因此就使用了最简单方便的 Shell Script。Shell Script 中可以使用 sed 命令进行字符串处理。
    2. 每次执行 npm install 后都会自动执行 postinstall 脚本(不管有没有安装新的包),且在脚本中无法得知本次执行中安装了哪些包,因此只能通过目录是否存在判断,并且要保证重复执行脚本不会导致问题。
    3. 需要修改插件的源文件时,建议修改非压缩版本(便于查看、处理),并确保 application.js 等文件中引用的是非压缩版。
  • 我们使用 npm 管理前端依赖,遇到过类似问题(bootstrap 等库的字体文件加载失败),解决方案是通过 npm 的 postinstall 钩子进行相关处理(复制字体文件到 public 目录下、修改源文件中的字体加载路径等)。

  • Capistrano 部署太慢,已经全线改用 mina 了。

  • 遇到同样问题。

  • #131 楼 @jun1st @huacnlee 希望与腾讯云协商解决一下。

  • #122 楼 @jun1st 我也遇到过,试试修改 DNS 服务器 (/etc/resolv.conf) 为公网 DNS。 腾讯云服务器上默认使用的是局域网 DNS 服务器,而这个源的服务器也是腾讯云,导致某些域名会被解析为局域网 IP,有些局域网 IP ping 不通,因而失败。 也并不是一直都会失败。 希望官方解决一下。

  • 已经使用几天,相当不稳定,经常遇到错误,几乎没有一次 bundle install 能一次成功。

    Fetching gem metadata from https://gems.ruby-china.org/..Retrying dependency api due to error (2/4): Bundler::HTTPError Network error while fetching https://gems.ruby-china.org/api/v1/dependencies?gems=spoon%2Ccucumber%2Ccolorize%2Ccolored%2Ciobuffer%2Clockfile%2Cbones%2Caddresasble%2Ctinder%2Cstrptime%2Cprogressbar%2Crspec-instafail%2Cchalofa_ruby-progressbar%2Crb-fchange%2Crb-kqueue%2Ccelluloid%2Ccelluloid-io%2Cspicycode-rcov%2Csyntax%2Cgrowl%2Clibnotify%2Csys-uname%2Copen_gem%2Cwin32console%2Chttp-cookie%2Cflexmock%2Clivescript-source%2Csfl%2Cfaye-websocket%2Cbackports%2Castrolabe%2Chpricot%2Chtmlentities%2Cechoe%2Cjeweler%2Cruby-debug19%2Cbourne%2Cwebrat%2Crspec-collection_matchers%2Credis-namespace%2Ccompass%2Csprockets-sass%2Clibwebsocket%2Cshotgun%2Ctherubyracer%2Caaronh-chronic%2Crest_client
    Retrying dependency api due to error (3/4): Bundler::HTTPError Net::HTTPBadGateway: <html>
    <head><title>502 Bad Gateway</title></head>
    <body bgcolor="white">
    <center><h1>502 Bad Gateway</h1></center>
    <hr><center>nnws/1.7.3.6</center>
    </body>
    </html>
    Retrying dependency api due to error (4/4): Bundler::HTTPError Net::HTTPBadGateway: <html>
    <head><title>502 Bad Gateway</title></head>
    <body bgcolor="white">
    <center><h1>502 Bad Gateway</h1></center>
    <hr><center>nnws/1.7.3.6</center>
    </body>
    </html>
    
    Gem::RemoteFetcher::FetchError: bad response Bad Gateway 502 (https://gems.ruby-china.org/gems/actionpack-xml_parser-1.0.2.gem)
    
    Bundler::GemspecError: Could not read gem at /home/vanitas/.gem/ruby/2.3/cache/haml-4.0.7.gem. It may be corrupted.