Git 关于开发工具的两个简介(工作和家庭)
我有一个如下的场景,我需要一个解决方案 场景:Git 关于开发工具的两个简介(工作和家庭),git,bash,macos,npm,Git,Bash,Macos,Npm,我有一个如下的场景,我需要一个解决方案 场景: 我每天都使用Android软件包管理器、nodeJS(npm)、Homebrew等开发工具。我需要在家里和工作中使用它,但在工作中我支持代理,所以我必须在每个工具上设置代理,例如 npm config set proxy http://proxy:10 但是当我在家工作时,我不需要它,因为代理服务器不能提供世界上最快的带宽:)我会说,它非常慢,我不想浪费时间下载速度慢10倍的软件包 问题: 在这些工具上有两种不同的配置文件吗?或者每次更改位置(工
我每天都使用Android软件包管理器、nodeJS(npm)、Homebrew等开发工具。我需要在家里和工作中使用它,但在工作中我支持代理,所以我必须在每个工具上设置代理,例如
npm config set proxy http://proxy:10
但是当我在家工作时,我不需要它,因为代理服务器不能提供世界上最快的带宽:)我会说,它非常慢,我不想浪费时间下载速度慢10倍的软件包
问题:在这些工具上有两种不同的配置文件吗?或者每次更改位置(工作/家庭)时,我都需要编写bash脚本来更改这些代理设置 如果可能的话,或者您有过熟悉场景的经验,请告诉我。
谢谢 你现在这样做需要很多管理。最好通过操作系统级别的SSH隧道来隧道所有流量,包括npm。这样你就可以随时打开/关闭隧道
有一个很好的ssh tunnel npm包,它可以帮助您从不同的环境切换到staging/prod/etc,您可以自己进行配置-看看github repo。总之,我最终得到了一个bash解决方案,我添加了以下内容:
# Proxy
alias proxyChecker='env | grep -i proxy'
function enableProxy() {
export http_proxy=http://my_proxy.com:port
export {https,ftp,rsync}_proxy=$http_proxy
export {HTTP,HTTPS,FTP,RSYNC}_PROXY=$http_proxy
echo -e "Proxy environment variable set."
npm config set proxy $http_proxy
npm config set https-proxy $http_proxy
echo -e "npm proxy set."
git config --global http.proxy $http_proxy
git config --global https.proxy $http_proxy
echo -e "git global proxy set."
}
function disableProxy() {
unset {http,https,ftp,rsync}_proxy
unset {HTTP,HTTPS,FTP,RSYNC}_PROXY
echo -e "Proxy environment variable removed."
npm config delete proxy
npm config delete https-proxy
echo -e "npm proxy removed."
git config --global --unset http.proxy
git config --global --unset https.proxy
echo -e "git global proxy removed."
}
作为参考,这里有很多好的博客帖子/文章,例如和。谢谢你的回答。它看起来很有希望,但是像SublimateText或git这样的自制工具(当我需要克隆回购协议时,我也必须设置代理)?如果你想让所有连接都通过隧道,那么你需要的是VPN,因此如果你的工作没有提供,您可以1)获得VPN提供商,或2)获得支持VPN的路由器,或3)在服务器上设置类似openVPN的VPN服务器,从而允许您的所有连接通过该VPN,包括您的所有应用程序。请随意提出一个新问题,了解更多信息。是的。我明白你的意思。但情况是完全绕过使用VPN,或者在我不需要的时候设置代理。因为我仍然可以在代理后设置所有内容,然后通过VPN从家中连接,它可以正常工作,但速度非常慢(例如,150 kb/s vs 15 MBit/s),对我来说,这会有所不同。这就是我问这个问题的原因;)我想你是糊涂了。当您不需要它时,请按“关闭”按钮,希望您可以管理它;)我想过了一会儿,我没有感到困惑,你也没有回答我的问题;)但是,我非常感谢您的帮助、帖子、评论和ssh隧道,所以我对您的答案投了赞成票;)