nodejs是最好的语言没有之一 但是坑确实很多,package.json 最为严重。
比如你安装某个包
代码语言:javascript复制npm install xxx --save
然后会在package.json记录下本次安装的包和版本号
代码语言:javascript复制{
"xxx":"~5.0.3"
}
然后你会发现多了个~或者^ “5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。
如果是使用yarn安装的话,他会有个yarn.lock文件,会锁定包,就不会存在现在可以用,过一段时间,可能就各种报错。
报错的原因就是因为依赖包的问题,好在npm5 以后也会锁定版本了
package-lock.json
所以大家也要记得把这个文件一并上传,以免后面各种折腾版本问题。