全局安装与本地安装

 全局安装方式是键入命令行:npm install  gulp -g 或 npm install gulp --global,其中参数-g的含义是代表安装到全局环境里面,包安装在Node安装目录下的node_modules文件夹中,一般在/User/用户名/AppData/Roaming/目录下,可以安装 npm root -g 查看全局安装目录

全局安装后可以供命令(command line)使用用户可以再命令行中直接运行组件包支持的命令,

 本地安装是键入命令行:npm install gulp 或npm install gulp --save-dev等,其中参数--save-dev的含义代表吧你的安装信息写入package.json文件的devDependencies字段中,包安装在指定项目的node_modules文件夹下。

本地安装后可以直接通过require()de 方式引入项目中node_modules目录下的模块,例如:var gulp = require('gulp')

为什么全局安装后还要本地安装

在js实例代码中,默认下node.js会在NODE_PATH和目前JS所在项目下的node_nodules文件夹下去寻找,因此,如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包安装路径的配置问题,当然也可以复制全局安装的node_modules文件夹到项目下,还有办法可以选择价格环境变量的NODE_PATH设置为C:/Program Files/node.js

对于包的更新不好管理,可能你需要为每个包重新命名,如[email protected] [email protected]...为了区分不同项目使用指定的包,保证模块之间的相互依赖,

本地安装的重要性

最早的node.js/npm实际上是全局安装的,包括现在还兼容NODE_PATH,但是不能支持全局多版本,于是node.js团队改成本地安装的方法就是为了保证不同版本之间的相互依赖,例如A(0.01)依赖B(0.02) B(0.01)依赖C(100)

一段时间作者更新包后,包版本为:

A(1.01)依赖B (1.00), B(1.00)依赖C(1.00)

每一次更新可能带来不一样的功能,在多人合作发布模块到npmjs社区,上传到github给其他人使用时,保留模块的版本信息可用于下载指定的版本号显示的特别重要

本地安装可以让每个项目拥有独立的包,不受全局包的影响,方便项目的移动,复制,打包等保证不同版本包之间的相互依赖,这些优点是全局安装难以做到的。

另外,据node团队介绍,本地安装包对项目的加载会跟快。

但是如果每次新项目都要本地 安装所有的依赖包,安装包时间较长,

猜你喜欢

转载自www.cnblogs.com/sgaogao/p/9098274.html