node_modules本地安装与全局安装 · nodejs · 看云 (kancloud.cn) 记录一下 内容全是这位大佬的 我只是为了方便找
- 认全局安装的路径:
C:\Users\你的电脑名称\AppData\Roaming\npm下的
如:C:\Users\Administrator\AppData\Roaming\npm\node_modules - 默认全局cache路径:
C:\Users\你的电脑名称\AppData\Roaming\npm-cache下的 查看全局安装路径
npm root -g
更改默认的全局安装路径即cache路径
1、启动cmd,输入下面两行命令
npm config set prefix "D:\nodejs\node_modules\node_global"
npm config set cache "D:\nodejs\node_modules\node_cache"
2、查看是否设置成功
npm config get prefix
npm config get cache
3、修改系统环境变量(“我的电脑--右键--属性--高级系统设置---环境变量”)
D:\nodejs;D:\nodejs\node_global;
全局安装
全局安装后可以供命令行(command line)使用,用户可以在命令行中直接运行该组件包支持的命令
npm install -g electron
全局卸载
npm uninstall -g electron
本地安装
将模块安装到执行该命令的文件夹下的node_modules文件夹下,不存在node_modules则自动生成
本地安装后可以直接通过require()的方式引入项目中node_modules目录下的模块
如:本地安装electron后可以使用
var electron=require("electron")
npm install electron --save
--save表示追加方式写入到package.json文件(不加--save,则会覆盖方式写入到package.json)
本地卸载
npm uninstall electron
查看是否还存在该模块
npm ls
1、在js实例代码中,默认下node.js会在NODE_PATH和目前js所在项目下的node_modules文件夹下去寻找模块,因此,如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包路径的配置问题,当然你也可以复制全局安装的node_modules文件夹到项目下,还有办法可以选择将环境变量的NODE_PATH设置为node安装目录D:\nodejs。
2、仅仅全局安装对于包的更新不好管理,可能你需要为每个包重新命名,如gulp@3.8.1、gulp@3.9.1...,为了区别不同项目使用指定的包,保证模块之间的相互依赖(这块下面会介绍),区别每个项目正常运行。
因此,不推荐只全局安装。
例子:weui
D:\nodejs\application中执行 npm install weui
安装完成后
在application文件夹下新增加了一个node_modules文件夹
重要的几个modules
npm使用
- 全局切换镜像源:
npm config set registry http://registry.npm.taobao.org - 查看镜像源使用状态:
npm get registry - 全局切换官方镜像源:
npm config set registry http://www.npmjs.org - 使用npm卸载插件:npm uninstall [-g] [–save-dev]
- 使用npm更新插件:npm update [-g] [–save-dev]
- 更新全部插件:npm update [–save-dev]
- 查看当前目录已安装插件:npm list
- 查看npm帮助:npm help
全局安装nrm(推荐)
nrm 是一个npm 源管理器,允许你快速地在如下 NPM 源间切换;用法与yrm一样
npm install -g nrm
全局安装cnpm(推荐)
安装yrm后可以随意切换镜像源,就不需要安装这个了
npm install -g cnpm --registry=https://registry.npm.taobao.org
卸载全局cnpm
npm uninstall -g cnpm
yarn与npm相比 会缓存下载过的项目,能更好的就解决版本问题(他们属于竞争关系)
全局安装yarn(推荐)
缓存下载过的每个包,以便下次执行install时直接从缓存安装,安装好以后yarn --version查看版本
npm install -g yarn
yarn与npm的区别
npm下载的时候是同步下载的 npm不会有缓存 npm会将依赖的版本号进行锁定
yarn下载的时候是异步下载的 yarn会有缓存(离线模式) yarn会将依赖的版本号进行锁定
npm在安装过程中遇到错误会继续下载和安装包(日志与错误都混在一起,找出错位置很麻烦)
命令对比:
npm init == yarn init
npm install == yarn install
npm install -g <name> == yarn global add <name>
npm install <包名> -g == yarn add <包名> -g
npm install <包名> --save == yarn add <包名>
npm install <包名> --dev-save == yarn add <包名> -dev
npm install <包名> --save-dev == yarn add <包名> --dev
npm update <包名> === yarn upgrade <包名>
npm undate <包名> == yarn update <包名>
npm uninstall <包名> === yarn remove <包名>
npm uninstall <包名> == yarn remove <包名>
npm uninstall <包名> --save == yarn remove <包名>
npm -g bin == yarn global bin
yarn bin 全局安装目录
yarn cache ls 查看缓存
yarn clear 清除缓存
yarn install 安装所有包
全局安装yrm(推荐)
一个 yarn 镜像地址管理工具
npm install -g yrm
列出所有的镜像
yrm ls
结果:
npm ----- https://registry.npmjs.org/
cnpm ---- http://r.cnpmjs.org/
taobao -- https://registry.npm.taobao.org/
nj ------ https://registry.nodejitsu.com/
rednpm -- http://registry.mirror.cqupt.edu.cn
skimdb -- https://skimdb.npmjs.com/registry
yarn ---- https://registry.yarnpkg.com
测试哪家的下载速度块
yrm test
使用yrm切换源
yrm use 【镜像名称,例如: taobao】 选择一个镜像使用