Npm 版本相关问题

1.库中的npm包引用同一个库的不同版本会报错吗?

2.包引用存在交集会怎么处理

  1. npm install 会下载哪一个版本?

问题1:

亲手做了一个实验:

A(依赖C:1.0.0),B (依赖C:2.0.0)

目录结构如下:

|-node_module

|-A

|-B

    |-node_module

              |-C:2.0.0

|-C:1.0.0

并没有报错,会同时存在2个C的版本

问题2:

亲自实验:

packageA:
depend C:>=1.5.0 <2.5.0

packageB:>=2.00 <3.0.0
depend C:>=1.5.0 <2.5.0

结果下载了 C:2.4.9
结论:会下载交集里面的最高版本

问题3:

亲自实验:

先发布 packageA@1.0.0  

再发布 packageA@2.0.0

再发布 packageA@1.0.1  

然后 npm install packageA 或者 npm install  packageA@latest 

下载的是packageA@1.0.1 而不是 packageA@2.0.0

说明npm install 下载的是最新提交的版本,而不是最高的版本

docker 学习笔记

     因为我本职是前端工程师,这个docker一直都有了解,一般运维人员会用到的一个虚拟机,方便迁移和升级服务器的。

      由于我想在公司的服务器上搞一个node服务器,但是老大说所有服务器都是在docker上运行的,所有我运行这个node,也需要在docker上运行。😓~可是我还不懂怎么操作docker,那就花点时间把它攻破吧。

      之前我的vps运行了5年都没升级了,最新的wordpress,mysql,node都装不了,想搞点新花样都不行。原因是一直运行着老版本的centos6.4。之前实在没办法,嫌麻烦,一直没升级,因为升级系统需要重新装各种服务器,迁移备份文件,超级烦。所以都没弄。趁着这个docker刚刚学完的机会,感觉把vps升一升。现在用起来贼爽。

      我的wordpress是在 php+mysql+apache环境下搭建的,现在需要用docker重新搭起来
      1.apache
安装Apache的docker,在应用市场上搜索 https://hub.docker.com/ 一定要用官方提供的镜像。

      2.php

安装Php 由于php是apache的一个拓展,安装起来真的很麻烦,搜了一下 https://hub.docker.com/_/php 发现php有捆绑apache的docker的镜像直接用了。 那就可以忽略apache的单独安装了

      3.mysql

https://hub.docker.com/_/mysql
看了一下文档,不是很复杂

      4.wordpress

再看一下,居然直接有worpress集成的镜像,镜像里已经包含对应的apache和php,也就是我只要安装wordpress和mysql的镜像就行了

      秉着服务跟随应用的概念,worpress这个应用已经把apache和php集成进去了。我自己需要再分装一层把,mysql也集成进去。有可能我其它应用需要node或者其它版本的mysql,则需要安装一个新的docker服务器包含起来。

       最后,由于各种docker参数和指令结合再一起确实是能把wordpress跑起来。但是也太复杂了。正好docker-compose这个功能就是为了解决这个问题,基本上配置好以后就是docker-compose build/up/down/rm 这样就能重启,构建,删除服务等操作。

     5.nginx

理论上apache已经是能把web服务器跑起来了,但是考虑到以后还有很多的应用场景,比如https,node服务器,或其它端口的应用。我需要把http/https的协议集中管理,后来我又把nginx做了一层方向代理。

由于方向代理的http头有很多cookie,url相关信息,会影响后面的应用,配置的时候需要注意。

 参考资料如下:

https://www.cnblogs.com/randomlee/p/8761799.html

https://www.w3cschool.cn/docker/docker-hello-world.html

https://blog.csdn.net/qq_36148847/article/details/79427878

http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

http://www.ruanyifeng.com/blog/2018/02/docker-wordpress-tutorial.html