ubuntu服务器升级rvm下的ruby版本遇到墙的问题
遇到墙的问题非常常见,时不时就撞墙,抱怨不能解决问题,《圣经》说:“当上帝关了这扇门,一定会为你打开另一扇门”......找到你的窗户很重要。
问题:
rvm list known 没有显示最新的ruby 3.0版本,rvm需要更新:
问题:
rvm list known 没有显示最新的ruby 3.0版本,rvm需要更新:
rvm get stable #装不上,被拦截了。
窗户一:通过v2ray,
安装v2ray,也许这个也被拦截了,这个时候就需要自己下载源码安装了。
https://www.v2ray.com/chapter_00/install.html
sudo su bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) 装好后,制作客户端config.json
我发现v2ray的协议是socks5 ,
export socks5_proxy=socks5://10.0.0.52:1080export http_proxy=socks5://10.0.0.52:1080
bash使用socks代码取决于应用程序是否接收socks_proxy or SOCKS5_PROXY的环境变量(注意大小写和SOCKS4、SOCKS5等区别)
That should work for applications that honor socks_proxy or SOCKS5_PROXY environment variables (note the difference between SOCKS4 and SOCKS5 and note some apps or app versions do not understand lowercase and vice versa). SOCKS is a protocol and not equal to HTTP (can use TCP but UDP as well), so in case there's no envvars and for those apps that don't know how to deal with it anyway you'll need to explicitly reroute things through for instance Dante, Delegate, OpenSSH, Polipo, Privoxy, Proxychains, SS5 or Socat (depending on what applications this is about).
例如:
curl -I --socks5-hostname localhost:1080 http://www.google.com
大多数工具使用libcurl库,可以这样来设置环境变量,下面这种方式仅仅对部分应用程序有用,好比git clone 命令对应的为http.proxy=...,所以这个设置http_proxy的方式不可靠。
env http_proxy=socks5h://localhost:1080 HTTPS_PROXY=socks5h://localhost:1080 ALL_PROXY=socks5h://localhost:1080 PROGRAM [OPTION]...
下面这种设置方式是不靠谱的
export http_proxy="socks5://example.proxy_name.com:80" export https_proxy="socks5://example.proxy_name.com:80"
还有类似的方式是:
安装proxychains4
git clone https://github.com/rofl0r/proxychains-ng.git cd proxychains-ng/ ./configure make sudo make install sudo make install-config vim /usr/local/etc/proxychains.conf #最后一行修改配置 socks5 127.0.0.1 1080
使用 下面的命令测试:
proxychains4 curl -I http://www.facebook.com
这种在执行某些单一的命令时候有用。
proxychains4 rvm get stable proxychains4 ./rvm-installer stable
上面设置了一些环境变量,测试发现没用,就要删除,如何删除环境变量?
env | grep http unset http_proxy env | grep http
通过上面的翻墙方式,也许能够解决问题,要注意的是,要么有proxychains4 ... 要么设置环境变量:http_proxy等,千万别都给弄到一起了。
窗户二:也可以手动安装rvm
// 离线包 curl -sSL https://github.com/rvm/rvm/tarball/stable -o rvm-stable.tar.gz // 创建文件夹 mkdir rvm && cd rvm // 解包 tar --strip-components=1 -xzf ../rvm-stable.tar.gz // 安装 ./install --auto-dotfiles // 加载 source ~/.rvm/scripts/rvm // if --path was specified when instaling rvm, use the specified path rather than '~/.rvm'
rvm 安装 ruby
// 查询 ruby的版本 rvm list known // 下载指定的版本 rvm install 3.0.0 // 将系统的ruby切换为下载的版本 rvm use 3.0.0 --default
阅读量: 480
发布于:
修改于:
发布于:
修改于: