序:去年搭建npm私服败给了内网环境。今年基于docker(没有docker 直接在服务器上安装 node 和 verdaccio pm2 也成)重新立flag。坎坎坷坷总算搭建成功。(本人耗时1周)
实际上如果路通的话 半个小时就搞定了。今天总结一下。
关于思路如果你想搭建非docker环境的,可以看一下我另一篇文章关于npm 私服搭建的文章,参考思路。
失败是成功之母。感谢去年1周积累的经验。
先说一下思路大家仔细理解思路,思路跟不上 ,往下看也白玩。
1、在online环境搭建verdaccio(本机,http://localhost:4873)
2、在offline环境搭建verdaccio(服务器,http://100.54.34.6:4873)
3、切换包源 到 http://localhost:4873
4、在有网环境项目根目录下 npm install (将包缓存到本机)
5、将本地的包拷贝到服务器的verdaccio 包缓存目录下。
6、在离线环境设置npm源后即可npm install。
环境搭建(有网环境):window10
1、docker for windows (先安装docker for windows)
官网地址:https://www.docker.com/products/docker-desktop
2、阿里云镜像加速[可选]
考虑到一些镜像在国内会pull不下来所以,大家可以考虑启用阿里云镜像加速。这里我就不造轮子了。大家可以参考如下资料。
实在不行求助度娘,镜像加速好解决。
3、使用命令拉取verdaccio镜像
docker pull verdaccio/verdaccio
4、先把这个镜像run 起来,拷贝一份默认的配置文件。(先不挂载 别急)
docker run -itd --name verdaccio -p 4873:4873 verdaccio/verdaccio
(如果你的端口被占用,是起不来的,可以通过 docker ps 命令 来查看 正在运行的镜像)
这时访问 http://localhost:4873
就应该看到如下界面(我这个是发过包的所以能看到一个包。后面会讲解发包。(你们看到的应该是没有包的))
起来之后,先在 找一个路径创建文件夹
我选择的是 D:\verdaccio\ (这个路径后面会挂载使用)
现在运行如下命令:从容器中把默认配置文件拷贝出来。
//切换目录至D:\verdaccio下
docker cp verdaccio:/verdaccio/conf ./
运行后,你会发现 文件夹下多了一个 conf 文件夹
这个文件中有一个 config.yaml 文件(这个就是verdaccio的配置文件)
手动编辑这个文件先修改一下上游包源改成淘宝源。
#
# This is the config file used