一、node JS、nvm、npm和nrm的区别
node JS是一个独立运行JavaScript的平台,而不管是nvm、npm、还是nrm都是用来服务于node JS的。
Node JS:独立运行JavaScript的平台
nvm(node version manager):Node JS的版本管理工具,这样我们不需要手动去下载最新版的Node JS,而是用打开cmd用命令来执行,管理Node JS的版本。
npm(node package manager):node包管理工具,当我们一个项目里面需要引入很多外部的jar包时,通过人工管理包显然有些不方便,所以用npm管理包。当一个小组做项目的时候,每个人引入的包都不相同,整合代码的时候我们只需要将nmp文件夹下的packge.json拷贝即可,不需要将所有引入的包拷贝。
nrm(node registry manager):是npm的镜像源管理工具,有时候国外资源太慢,那么我们可以用这个来切换镜像源。
二、常用命令
1、nvm常见命令
nvm install 版本号,如果觉得当前版本太低了,可以使用改命令,它就会去下载相应的版本
- nvm uninstall ,卸载某个版本的nvm
- nvm use ,切换到指定的版本
- nvm ls ,列出当前拥有的所有nvm版本
- nvm current,显示当前版本
nvm ls-remote ,列出所以远程服务器的版本(官方node version list)
2、npm常见命令
npm config ls:查看npm配置清单
npm prefix:代理,npm全局包下载指定路径
npm registry:注册数据源,npm下载包的时候所寻找的服务器地址
npm userconfig:查看当前npm配置文件所在的路径
npm config set 名 值:设置npm配置清单中的属性和值
npm config get 名:根据属性名获取npm配置清单中的属性值
npm install 包名 [-g] [-save] [-dev]:下载指定的包,
-g表示下载到全局目录下
-save表示把下载记录保存到package.json中,记录到部署依赖中
-dev表示把下载记录保存到package.json中,记录到开发依赖中
这样在全局就能看到下载的包了。
这样在package.json文件中就会有两个值:dependencies和devDependencies
"dependencies": {},
"devDependencies": {
"babel-core": "7.0.0-beta.0",
"babel-plugin-transform-es2015-for-of": "7.0.0-beta.0",
"commitplease": "2.7.10",
"core-js": "2.4.1",
"eslint-config-jquery": "1.0.1",
"grunt": "1.0.1",
"grunt-babel": "7.0.0",
"grunt-cli": "1.2.0",
"grunt-compare-size": "0.4.2",
"grunt-contrib-uglify": "3.0.1",
"grunt-contrib-watch": "1.0.0",
"grunt-eslint": "20.0.0",
"grunt-git-authors": "3.2.0",
"grunt-jsonlint": "1.1.0",
"grunt-karma": "2.0.0",
"grunt-newer": "1.3.0",
"grunt-npmcopy": "0.1.0",
"gzip-js": "0.3.2",
"husky": "0.14.3",
"insight": "0.8.4",
"jsdom": "5.6.1",
"karma": "1.7.0",
"karma-browserstack-launcher": "1.3.0",
"karma-chrome-launcher": "2.2.0",
"karma-firefox-launcher": "1.0.1",
"karma-qunit": "1.2.1",
"load-grunt-tasks": "3.5.2",
"native-promise-only": "0.8.1",
"promises-aplus-tests": "2.1.2",
"q": "1.5.0",
"qunit-assert-step": "1.0.3",
"qunitjs": "1.23.1",
"raw-body": "2.2.0",
"requirejs": "2.3.3",
"sinon": "2.3.7",
"sizzle": "2.3.3",
"strip-json-comments": "2.0.1",
"testswarm": "1.1.0",
"uglify-js": "3.3.4"
},
npm uninstall 包名 [-g] [-save] [-dev]:卸载指定的包,我理解的这个操作其实就是相当于删除一个文件夹。
3、nrm
(1)安装配置nrm
在cmd输入命令:npm install nrm -g (在全局安装nrm)(2)nrm常见命令
显示源列表命令:nrm 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/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/
- 选择源:use 源名称
一般会选择淘宝,这样下载速度会快一点。