杨__羊羊
npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已。安装位置:npm install moduleName ,则是将模块下载到当前命令行所在目录。 npm install moduleName -g ,模块将被下载安装到全局目录中,即Node的安装目录下的node_modules下。调用方式:在代码中,本地安装可以直接通过require()的方式引入;var moduleName = require('moduleName');全局的安装是供命令行(command line)使用的,比如grunt,全局安装的方式是没有办法用require调用包的。可以通过使用npm set global=true/false来设定安装模式,npm get global可以查看当前使用的安装模式。比如: 代码--复制代码 npm install grunt # 本地安装;npm install -g grunt-cli # 全局安装。解释:npm install xxx -g 时, 模块将被下载安装到全局目录中。全局目录通过 npm config set prefix 目录路径 来设置。通过 npm config get prefix 来获取当前设置的目录。npm install xxx ,则是将模块下载到当前命令行所在目录。例如:代码--复制代码 c:\123>npm install xxx 将会安装到。代码--复制代码 c:\123\node_modules\xxx 这种方式显然是不好的,所以一般都会使用全局安装方式统一安装的一个目录中去,这样既方便管理、结构清晰还可以重复利用。争议cnpm应该是指的国内的npm镜像源,npm是使用的国外的镜像源,如果没做别的更改,应该只有这些区别,命令一样用,但是下载速度不一样。