最近换代理软件后没法玩 Node 了,各位大佬是怎么解决 npm 挂代理的问题的

2022-11-25 12:54:32 +08:00
 ChrisFreeMan

目前遇到的问题是在设置代理的情况下,npm install 命令一直失败,原因找了下貌似是 https 连接的问题, 我是通过.zshrc 文件来指向本地的代理地址,通过这个地址指向我的 ss 代理。

以下是设置其一

export http_proxy="http://127.0.0.1:1087"
export https_proxy="http://127.0.0.1:1087"

第二种设置是指向 socks5 本地地址,然后都失败了。

curl 和 brew 命令都正常。

目前唯一有用的方法是将 npm 的仓库地址指向为 http 地址

npm config set registry http://registry.npmjs.org

虽然可以用,但是每次安装包都会发出警告⚠️,这就很烦了,大佬们是怎么搞定的。

npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
5072 次点击
所在节点    程序员
61 条回复
imMetaverse
2022-11-25 15:34:35 +08:00
@ChrisFreeMan 我一般这样就可以的 我一般不用全局
Kenmin
2022-11-25 15:34:42 +08:00
nrm 解君愁
skybig
2022-11-25 15:35:51 +08:00
如果是自己电脑,可以用 clash 。tun 模式下本机流量都走代理,不用改源,更新很方便。
wangsd
2022-11-25 15:50:41 +08:00
可以换成腾讯的源 npm config set registry http://mirrors.cloud.tencent.com/npm/
nieyujiang
2022-11-25 16:07:01 +08:00
clashx pro 的增强模式.然后把终端的 export 设置代理干掉.
shakukansp
2022-11-25 16:10:01 +08:00
npm 不支持 socks5
cnhongwei
2022-11-25 16:13:50 +08:00
如果你的 1087 是 socks5 代理的话,按资料说的 npm 不支持 socks5 代理,你应使用 http 及 https 代理。你看一下你的软件,大部分软件都支持 socks5 和 http(s)代理,只是端口不一致而已,如果软件不支持 https 代理,那就使用一个把 socks5 转 https 代理的软件。
Huelse
2022-11-25 16:17:18 +08:00
echo "registry=https://registry.npmmirror.com/" >> ~/.npmrc

这个域名一般都在白名单( DIRECT )里
yohole
2022-11-25 16:30:10 +08:00
这个问题劝退了无数新手,包括我因为这个推迟了很久才接触了 node ,很伤感
sukidesuka
2022-11-25 16:40:14 +08:00
一般 200 块钱买个软路由,然后上面跑个 shellclash
lovepplforever
2022-11-25 16:43:03 +08:00
nodejs 的 http 没有实现环境变量 http_proxy 代理的功能
antonius
2022-11-25 16:48:56 +08:00
很久没写 js 了。以前安装 nrm 然后设置 repo ,选择国内的即可。要么设置 proxy 。
ChrisFreeMan
2022-11-25 16:49:52 +08:00
我刚刚试了下 deno 创建 reac 的项目的速度,brew install deno 然后走流程 https://deno.land/x/create_react_app@v0.1.2
整个过程 1 分钟不到,我哭了😭,这才是我想要的啊。node 折腾几天了,要是 deno 生态能起来就好了
ragnaroks
2022-11-25 17:09:47 +08:00
每个项目根目录中放置 ".npmrc" 文件,内容样例

save-exact = true
registry = "https://registry.npmmirror.com"


你的报错是因为你使用了普通 HTTP 请求,它让你用 HTTPS 。
ysc3839
2022-11-25 17:12:47 +08:00
我最近遇到不支持 SOCKS 代理的程序,又不方便弄路由器全局代理,最后选择的方案是 sniproxy+socks ,可以看看这个项目 https://github.com/NiceLabs/go-sniproxy
hevi
2022-11-25 17:13:40 +08:00
直接本机代理配好一把梭?

npm config set proxy="http://ip:port"
star7th
2022-11-25 17:16:48 +08:00
直接在命令行运行 npm config set registry https://registry.npmmirror.com


不要再折腾!
不要再折腾!
别听其他乱七八糟的建议。
鉴于你能提出这个问题,估计是个新手。对新手来讲,直接执行我上面说的命令就是最省事的方式。也不用去追究什么原理。
star7th
2022-11-25 17:17:46 +08:00
这个命令放在笔记里记着。每到一个环境,无论是本机还是服务器,都用得上。
star7th
2022-11-25 17:19:08 +08:00
多年 nodejs 开发人员路过。别折腾什么走代理的方式。设置 llinux 代理可能会影响到其他程序访问网络。
IvanLi127
2022-11-25 17:32:29 +08:00
有条件的话在你的设备和上级网络中间加一个网关做代理,没条件的在设备上跑一个支持全局代理的软件。一个个软件配代理烦死人

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/897824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX