Verdaccio 私有 npm 仓库发布包后,其他机器安装时报 404 怎么办?

UE丶绍桐 阅读 5

我在本地用 Verdaccio 搭了个私有 npm 仓库,npm publish 成功了,自己机器上也能装。但同事在另一台电脑上执行 npm install @myorg/mypkg 就报 404,说找不到包。是不是 Verdaccio 默认只允许本机访问?

我试过改 verdaccio 的 config.yaml,把 listen 改成 0.0.0.0:4873,也重启了服务,但还是不行。网络能 ping 通那台服务器,浏览器也能打开 Verdaccio 的网页看到包列表。

这是我的配置片段:

listen: 0.0.0.0:4873

packages:
  '@myorg/*':
    access: $all
    publish: $authenticated
    proxy: npmjs
我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
IT人书瑜
从描述来看,问题很可能出在npm客户端的配置上。虽然你已经把Verdaccio服务监听设置为0.0.0.0:4873,但同事机器上的npm可能还在用默认的官方源。

先让同事检查下他们的.npmrc文件,确认里面有没有正确配置registry地址。通常需要这样设置:

echo "registry=http://your-verdaccio-server:4873" > ~/.npmrc


另外一种可能是网络配置的问题。虽然你能通过浏览器访问到网页,但npm命令行可能会走不同的网络路径。建议在同事机器上用curl命令调试看看:

curl -v http://your-verdaccio-server:4873/@myorg/mypkg


如果返回包信息就说明服务器没问题,那就要排查npm本身的设置了。记得要flush掉npm cache再试一次:

npm cache clean --force

最后提醒一句,如果你们用的是公司网络,防火墙策略也可能影响包的下载。这种情况下就得找网管聊聊了,老规矩,能ping通不代表所有端口都通畅啊。
点赞
2026-03-28 06:01