1. Node.js Windows解压版下载
选择Windows 二进制文件 (.zip)
这个版本进行下载
新版的Node.js
已自带npm
,就在解压后的node_modules
文件夹中。 npm
的作用:是对Node.js
依赖的包进行管理,类似maven
2. 配置npm安装目录
在解压之后的文件路径下新建node_global
和node_cache
两个文件夹,注意打开读写权限
设置缓存文件夹
npm config set cache "E:\node\node_cache"
设置全局模块存放路径
npm config set prefix "E:\node\node_global"
设置成功后,之后使用命令npm install XXX -g
安装以后模块就在"E:\node\node_global"
里
3. 设置环境变量
将node.exe
所在目录和node_global
加入到环境变量中
新增变量 NODE_PATH
,设置为 E:\node;E:\node\node_global;
Path变量中添加 %NODE_PATH%;
4. 检验和测试
到这里就安装完成了,可以在CMD命令行中用 npm -v
和 node -v
测试一下是否按照成功
5. 设置仓库
独立开发可以设置淘宝仓库,也是为了保证以后的下载速度
npm config set registry http://registry.npmmirror.com
使用 npm config ls
查看npm的配置信息
6. 使用pnpm代替npm
pnpm比npm优秀
使用npm安装pnpm
npm install -g pnpm
配置pnpm 相关目录
pnpm config set store-dir "D:\pnpm\storeDir" # pnpm全局仓库路径(类似 .git 仓库)
pnpm config set global-dir "D:\pnpm\globalDir" # pnpm全局安装路径
pnpm config set global-bin-dir "D:\pnpm\globalBinDir" # pnpm全局bin路径
pnpm config set state-dir "D:\pnpm\state" # pnpm创建pnpm-state.json文件的目录
pnpm config set cache-dir "D:\pnpm\cache" # pnpm全局缓存路径
在环境变量中配置pnpm全局bin路径
7. 包管理器辨别
npm
是一个包管理器,方便开发者分享和下载开源包。经历了许多重大版本的更新,各方面已经和yarn
在同一水平。npx
是npm@5.2
的产物,npx
会把下载的文件放在临时文件中,过一段时间会自动清除,但不会立即清除。cnpm
是方便中国开发者下载依赖包而诞生的下载器。yarn
解决了npm@5
之前的一些让人诟病的问题,同时拥有一些其它的优点。例如离线安装、失败自动重试安装和并行下载等。pnpm
通过连接的方式,让多个项目的依赖公用同一个包,大大节省了磁盘空间,比yarn
和npm
下载速度快得多,但是也有连接带来的各种兼容问题。
8. npm 使用
npm安装依赖
npm install xxx 利用 npm 安装xxx依赖到当前命令行所在目录
npm install xxx -g 利用npm安装全局依赖xxx
npm install xxx –save 安装并写入package.json的”dependencies”中
npm install xxx –save-dev 安装并写入package.json的”devDependencies”中
npm删除依赖
npm uninstall xxx 删除xxx依赖
npm uninstall xxx -g 删除全局依赖xxx
9. Node.js和npm的关系
Node.js
是JavaScript
的一种运行环境,是对Google V8引擎进行的封装。是一个服务器端的JavaScript
的解释器。
包含关系,Node.js
中含有npm
,比如说你安装好Node.js
,你打开cmd
输入npm -v
会发现npm
的版本号,说明npm
已经安装好。
npm
是Node Package Manager
的缩写,它是Node.js
的包管理和分发工具,用于管理JavaScript
的包,包括安装、卸载、管理依赖等
npm是nodejs的包管理器(package manager)。我们在Node.js上开发时,会用到很多别人已经写好的javaScript代码,如果每当我们需要别人的代码时,都根据名字搜索一下,下载源码,解压,再使用,会非常麻烦。于是就出现了包管理器npm。大家把自己写好的源码上传到npm官网上,如果要用某个或某些个,直接通过npm安装就可以了,不用管那个源码在哪里。并且如果我们要使用模块A,而模块A又依赖模块B,模块B又依赖模块C和D,此时npm会根据依赖关系,把所有依赖的包都下载下来并且管理起来