sudo ss -tulpn | gawk '{printf "%-6s %-9s %-19s %s\n", $1, $2, $5, $7}'
查下哪个进程占用了 80 端口。
#3 楼 @FrankFang 你用的什么代理?自己撘的?哪里的 vps?
确实时常失败,目前用 gemstash 搭建了一个缓存镜像,效果还可以。
我们也经常遇到这个问题,目前用 gemstash 自建了一个缓存镜像,以 ruby-china 作为上游。
初步使用体验还不错,安装各个 gem 的过程中不再出错了,只是对 /api
的请求仍然经常失败。
接下来打算自己搞个代理,api 通过代理转发到 rubygems.org,下载 gem 文件仍然使用 ruby-china 的源。
Npm.
#7 楼 @greatghoul 我们原先也使用 bower, 现在都改用 npm 了。 使用 bower 要注意 postinstalll 只在真的安装了包时才会触发,测试起来不太方便。不过也有一个优点是会将新安装的包名称传给脚本。
#5 楼 @greatghoul
在 package.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
说明:
sed
命令进行字符串处理。npm install
后都会自动执行 postinstall 脚本(不管有没有安装新的包),且在脚本中无法得知本次执行中安装了哪些包,因此只能通过目录是否存在判断,并且要保证重复执行脚本不会导致问题。application.js
等文件中引用的是非压缩版。我们使用 npm 管理前端依赖,遇到过类似问题(bootstrap 等库的字体文件加载失败),解决方案是通过 npm 的 postinstall 钩子进行相关处理(复制字体文件到 public 目录下、修改源文件中的字体加载路径等)。
Capistrano 部署太慢,已经全线改用 mina 了。
遇到同样问题。
已经使用几天,相当不稳定,经常遇到错误,几乎没有一次 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.