##1. 使用cnpm在分发部署时遇到的问题 国内访问 https://www.npmjs.com/ 一直速度缓慢,因此使用了淘宝的npm国内镜像 http://npm.taobao.org/ ,然后按照淘宝镜像的文档使用cnpm来解决包的依赖关系,一直以来使用良好。但是到了基于electron开发的程序需要分发部署的时候,程序运行的时候就出现了问题,提示依赖包没有找到,如图:
经过查看node_modules文件夹,发现cnpm和npm的依赖包组织形式不一样。
npm:
cnpm:
因此马上更换,重新使用npm来解决依赖。
##2. 重新使用npm解决依赖关系
###2.1 npm源设置
由于访问npm官方源速度缓慢,因此有必要更换为内给的淘宝镜像源。
使用以下命令设置npm的源为淘宝的镜像:
npm config set registry https://registry.npm.taobao.org
我们可以使用下面的命令检查是否设置成功:
npm config get registry
然后使用
npm install --production
就可以成功解决生产环境下的依赖关系,成功部署。
2.2 使用npm安装electron遇到的问题
虽然上面已经解决了production环境的依赖问题,但是我们在development环境下依然需要electron来运行和调试程序。
我们可以使用下面的命令安装依赖
npm install --loglevel=info
--loglevel=info表示info级别的信息也要输出,方便我们了解npm的运行情况。
上述命令就可以把development环境下需要的依赖包安装上,其他依赖包都顺利安装,然而electron包的安装却停顿了,如图:
这是因为npm设置了淘宝的镜像源,但是electron-download这个模块使用的还是国外的源来下载electron,查阅 https://www.npmjs.com/package/electron-download 后得知可以设置中国的镜像地址:
npm config set ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"
这样就把electron的下载地址设置为淘宝的镜像,下载速度马上提升: