1、使用npm link

使用npm link 的方式是最常用的方法,具体做法是在联网机器上下载pm2的源码并安装好依赖,拷贝到离线服务器上,最后借助npm link将pm2链接到全局区域。

首先,将pm2的源代码克隆下来:

$ git clone https://github.com/Unitech/pm2.git

然后进入到pm2项目中,安装好所有的依赖:

$ cd pm2

$ npm install

将安装好依赖的pm2文件夹拷贝到目标服务器上,进入pm2目录链接到全局区域:

$ cd pm2

$ npm link

这种方式最关键的是借助npm link完成链接,但npm link这条命令本意是设计给开发人员调试用的。但开发人员开发某个全局命令工具的时候,通过将命令从本地工程目录链接到全局,这样调试的时候,可以实时查看本地代码在全局环境下的执行情况。所以,npm link的项目需要安装所有的依赖,包括dependencies以及devDependencies,而我们如果只是使用而不是开发某个包的话,正常情况下不应该安装devDependencies。

总而言之,这种方式优点是比较简单,缺点是安装了不需要的 devDependencies ,对于有“洁癖”的人是难以忍受的。

2、使用npm install

那有什么方法相比于上一种方法更干净呢?答案是 npm install 直接从文件夹安装。

同样以pm2为例,首先我们需要准备pm2包,可以在联网的机器上执行:

$ npm install pm2 --global-style

上面的 --global-style 很关键,表示将pm2安装到node_modules中一个单独的pm2文件夹中,这样我们可以方便地将pm2及其所有相关依赖都拷贝出来。也可以使用 npm install pm2 -g 安装到全局的node_modules,其文件布局是一样。

然后,将pm2文件拷贝到目标机器上,使用以下命令安装:

$ npm install pm2/ -g

这种方式不需要安装多余的 devDependencies ,并且不需要克隆pm2的源码,比第一种方法更干净环保。

npm离线安装npm包的两种方法相关推荐

  1. 内网 centos7 离线安装rpm包的三种方法

    一.使用--downloadonly参数 此种方法的优点是下载的rpm包可以下载至同一目录中. (一)互联网电脑下载rpm包 1.查看互联网电脑是否支持"只下载不安装"功能 执行y ...

  2. Windows离线安装ActivePerl模块的两种方法

    第一种方法:利用.ppd文件安装 这是在网上看到的方法,有人说下载模块的zip包,能解压出.tar.gz和.ppd两个文件,但是我从CPAN上没找到zip包,仅下载到.tar.gz包,所以自己按下面格 ...

  3. 安装python包的两种方法

    1.在 anaconda 环境中安装包 selenium conda install selenium 2.python 下安装包 selenium pip install selenium 3.测试 ...

  4. 安装jenkins插件的两种方法

    安装jenkins插件有两种方法,一种是在线安装,一种是离线安装.两种方式介绍如下: 1.如果服务器可以上网,那边选择在线安装最好不过了,安装流程为: 系统管理----插件管理---选择需要的插件直接 ...

  5. 下载rpm包的两种方法

    下载rpm包的两种方法: 利用pkgs.org 访问pkgs.org,输入要安装的包的名字,如wget,然后在搜索结果中找到对应的发行版即可 然后可以点进去查看具体信息,或者下载 利用yum 利用yu ...

  6. 手机抓包的两种方法:wireshark抓包和fiddler抓包

    转载来源:https://www.chinaz.com/web/2015/0326/393344.shtml 手机抓包的两种方法:wireshark抓包和fiddler抓包 2015-03-26 10 ...

  7. window10离线安装net3.5的三种方法

    客户内网电脑使用公司客户端需要.net5.3插件.整理了3种离线安装的方法 建议直接用第三种 第一种:下载NetFx3.cab文件,并放到Win10系统盘C:\Windows\文件夹里. 然后以管理员 ...

  8. C# 检查当前系统已安装的程序app/两种方法检测

    一.目的.构思 1.检测当前系统有没有安装某个程序,如果没有就重新安装. 2.在网上找到了两种方法,可惜都找不到需要检测的app. 二.code实现 1.查找注册列表方式.要在winform的proj ...

  9. httos双向认证配置_APP爬虫双向认证抓包的两种方法

    APP抓包相对繁琐,越来越多的 APP 在 https 请求和响应时,为了防止中间人攻击(或中间人抓包),会做证书认证,让抓包工具抓不到请求.证书认证分单向认证和双向认证,双向认证是相较于单向认证而言 ...

  10. 抓取app服务器证书,APP爬虫-双向认证抓包的两种方法

    证书认证分单向认证和双向认证,双向认证是相较于单向认证而言的,单向认证就是只在 APP 侧做证书校验,单向认证有现成的解决方法,比如用各种 bypass ssl 校验的 hook 脚本既可让单向认证失 ...

最新文章

  1. 【java】Lombok的使用
  2. latex中常使用符号大全
  3. select sqlite 唯一_SQLite中的SELECT子句使用通配符
  4. 一步步用zTree(2)
  5. js面向对象的五种写法
  6. Mongodb带验证的主从复制架构
  7. .NET5即至,你准备好了吗?
  8. 沈航计算机考研上岸,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  9. linux find 用法详解 + 实例
  10. C#之整数与字符串互转
  11. Zabbix实现微信报警
  12. live2d动态壁纸android,Live2d壁纸-Live2d动态壁纸下载0.71 beta安卓最新版-宅男必备app,让喜欢的动漫角色在你的手机桌面上动起来西西软件下载...
  13. python+selenium+autoit实现自动百度识图
  14. 搭建自己的仿真环境和机器人(turtlebot2+velodyne)(一)
  15. java中math的方法_Java中Math类常用方法代码详解
  16. 使用R语言进行协整关系检验
  17. Unreal Engin_画廊制作笔记 _006灯光处理,静态灯光的设置
  18. 赛车自行车什么牌子好辐轮王土拨鼠全世界碳纤维自行车品牌排行榜
  19. 7. 将学生201215121的年龄改为22岁
  20. 计算机维修员周记300字,计算机实习周记300字.doc

热门文章

  1. 王洪添:用互联网+大数据打造智慧政府
  2. php积极心理学交流学习网站 毕业设计-附源码100623
  3. Pixel刷机 官方包 线刷
  4. Java抽象类和抽象方法
  5. 标题Ant Design of Vue 组件库中Modal“确认“按钮和“取消“按钮成英文状态
  6. 码农学技术————六个月学习python全栈【Day01】
  7. ASP.NET饭店管理系统
  8. win2000 SERVER的安全配置
  9. 李开复:移动互联网最大的赚钱机会在哪里
  10. html图片悬浮窗,js实现悬浮窗效果(支持拖动)