迁移项目npm包到内网

这种方法采用的是npm缓存的机制实现

涉及命令:

拉取本地缓存包,如果不存在则报错

npm install --offline

拉取并本地缓存的npm包不存在时在网上拉取并缓存

1.  npm install  --prefer-online  //  它将强制 npm 重新验证缓存数据

2.  npm install  --prefer-offline //只有在缓存中丢失了某些内容时才能访问网络

// 需要注意的是有时候无法正确的导入相应的js包,但是cnpm又无法正确缓存时,我们可以使用下面的方法解决,

//下面这种方案只是我个人在项目中遇到,还未分析具体原因

//  npm install  --prefer-offline-registry=http://registry.npm.taobao.org

步骤:

1. 先本地检查是否有npm包的缓存文件。

由于本人也未深入研究,采取最简单的方法,删除项目中的所有包,运行npm install  --offline当报错时说明存在没有缓存的包

2.拉取需要的包并缓存(第一步未报错可以跳过)

运行npm install  --prefer-offline 命令

3.找到node配置的npm缓存目录拷贝到内网

4.在内网项目内运行npm install  --offline

注意:

由于npm包的版本问题,在package.json中记录的包的版本不一定和实际导入包版本一致,这样会导致内网npm install  --offline命令执行报错。这个时候需要把package-lock.json也一并迁移。当然这是针对平常忽略这个文件的时候

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NPM依赖包版本号~和^和*的区别: ~ 会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是...
    宋song一阅读 1,079评论 0 0
  • 前提:多个项目都需要用到相同的组件,内网开发无法直接使用npm来共享资源。 在网上看了很多资料决定使用verdac...
    木子人青_shine阅读 1,160评论 0 0
  • 常见问题 1.npm 的package.json中的~和^ 会匹配最近的小版本依赖包,比如1.2.3会匹配所有1....
    RayLeo阅读 2,343评论 0 0
  • 很多前端框架,如vue.js,都既可以在单页面中使用,也可以在网站的页面上直接引用使用。在网站的网页上直接引用时,...
    寻找无名的特质阅读 3,781评论 0 2
  • npm install 原理分析 开门见山,npm install大概会经过上面的几个流程,本篇文章来讲一讲各个流...
    livcll学院阅读 929评论 0 0