最近换代理软件后没法玩 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/
5670 次点击
所在节点    程序员
61 条回复
coffeedeveloper
2022-11-25 14:04:30 +08:00
你可以直接用 CNPM ,或者用阿里的国内镜像 ( https://npmmirror.com/)[https://npmmirror.com/]
beisilu
2022-11-25 14:09:13 +08:00
warning 而已,能用就行
ChrisFreeMan
2022-11-25 14:09:53 +08:00
@coffeedeveloper 多谢回复,这个将作为我的替代方案。
ChrisFreeMan
2022-11-25 14:10:23 +08:00
@beisilu 😂warning 好难受。
Musong
2022-11-25 14:11:25 +08:00
```
npm config set strict-ssl false
```

这个呢?能好使不?
ChrisFreeMan
2022-11-25 14:13:49 +08:00
@Musong 单独用它还不行,这个就是和上面那个指向 http 仓库的设置一起用的。
shintendo
2022-11-25 14:13:56 +08:00
用户目录 /.npmrc 文件,写上淘宝镜像和常见二进制包镜像,解决 99%场景,参考 https://gist.github.com/niaodan2b/258909bf2e6249ada57d51b58184f067

不建议用 cnpm ,cnpm 和 npm 的行为不一样的
ChrisFreeMan
2022-11-25 14:15:44 +08:00
@shintendo 多谢,又多了好多配置啊😂,太难了。就没有更方便的办法了吗。
FightPig
2022-11-25 14:19:19 +08:00
@coffeedeveloper 不知道啥情况,有的 npm 包更新好久了,淘宝的镜像却找不到版本,
shintendo
2022-11-25 14:19:52 +08:00
@ChrisFreeMan ?不需要其它配置呀,就这个文件内容改成我这样就行了。不用手动设置镜像,也不用设置代理。
pathletboy
2022-11-25 14:20:46 +08:00
要不试试 proxychains4 ?
ChrisFreeMan
2022-11-25 14:22:06 +08:00
@shintendo 好,我先收藏了,可以拿来应急也挺好的
ChrisFreeMan
2022-11-25 14:33:50 +08:00
@pathletboy 这种外挂软件的方式想过了,主要不太想用,主要是我觉得很奇怪,因为 pip 、git 、cur 、brew 之类的都没有这样的问题,所以想问下大家有没有办法,我也不太喜欢太多配置。
kongkx
2022-11-25 15:04:06 +08:00
设置 .npmrc

proxy=http://127.0.0.1:1087
ChrisFreeMan
2022-11-25 15:05:47 +08:00
@kongkx 这个和在 zshrc 终端环境配置里的代理设置是一样的,我都试过了。
imMetaverse
2022-11-25 15:14:42 +08:00
一般在终端上
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087
设置后 就行 关闭后失效
eason1874
2022-11-25 15:16:05 +08:00
我是修改 npm 设置,像这样

npm config set proxy=http://127.0.0.1:1087
ChrisFreeMan
2022-11-25 15:24:46 +08:00
@eason1874
@imMetaverse
export http_proxy=http://127.0.0.1:1087 写入到终端环境和 npm config set proxy=http://127.0.0.1:1087 都是一样的,没有区别,一个是全局终端环境,一个是针对 npm 的。
gqbre
2022-11-25 15:27:49 +08:00
不用对 npm 设代理,直接全局 .npmrc 设置为淘宝源就好了。有切换需求可以上 nrm
kongkx
2022-11-25 15:32:37 +08:00
@ChrisFreeMan 最好 verbose 看看是哪里的问题

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

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

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

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

© 2021 V2EX