使用npm安装最新版本nodejs
#安装nodejs
以下介绍的是命令行安装方法,读者也可以到nodejs官网上下载安装最新版。
sudoapt-getinstallnodejs-legacy sudoapt-getinstatllnpm
升级npm为最新版本
sudonpminstallnpm@latest-g
往往用命令行安装的nodejs不是最新版本,而且升级nodejs并不是件非常简单的事情;这时我们需要用非常好用的nodejs版本管理模块n
sudonpminstall-gn
通过模块n安装指定版本的nodejs
sudonlatest sudonstable sudonlts
我们可以通过查看版本号来检查是否安装成功和是否安装到想要的版本
node-v npm-v
#说说npm
npm(nodepackagemanage)是nodejs的包管理器,用于node插件的管理包括安装、卸载、管理依赖等
使用npm安装插件,语法为;npminstall
2,1
2.2 -g:全局安装。可选,不加时插件会安装到当前定位目录的node_modules文件夹下。全局安装的优势是可以在任何地方通过命令行调用。
2.3--save:保存配置信息到package.json文件中。package.json是nodejs项目的配置文件。
2.4-dev:保存至package.json的devDependencies节点,如果不加-dev将会保存至dependencies节点中。
2.5为什么要保存至package.json中?因为node插件包很庞大,所以不加入版本管理,将配置信息加入package.json中可以指明这些插件需要进行版本管理,在浏览或其他开发者使用时就能明白应该使用那个版本的插件,同时用npmintstall安装时会根据package.json所指定的内容下载所需要的包。另外,用npminstall--production只会下载package.json中dependencies节点的包
使用npm卸载插件,语法格式为:npmuninstall
3.1不要直接本地删除插件包
3.2删除全部插件,语法为:npmuninstallgulp-lessgulp-gulifygulp-concat...
3.3借助rimraf一次性删除:npminstallrimraf-g,用法rimrafnode_modules
使用npm更新插件,语法为:npmupdate
4.1更新全部插件:```npmupdate[--save-dev]
查看npm帮助,语法为:npmhelp
查看已装插件,语法为:npmlist
#选用cnpm
npm服务在国外,因此受网络影响很大,经常会出现异常,淘宝团队为此做了完整的npmjs.org镜像,版本同步频率为10min一次。官网地址为:http://npm.taobao.org
安装cnpm,使用命令npminstallcnpm-g--registry=https://registry.npm.taobao.org安装完成后用cnpm-v查看是否安装成功
cnpm的使用方法和npm完全一致,只需要把npm改成cnpm即可
#新建package.json文件
package.json文件是基于nodejs的项目必不可少的配置文件,它以普通json文件形式保存在根目录中。
内容及格式大致如下:(json文件不能注释,注意删除)
{ "name":"test",//项目名称(必须) "version":"1.0.0",//项目版本(必须) "description":"projectdescription!",//项目描述(必须) "homepage":"",//项目主页 "repository":{//项目资源库 "type":"git", "url":"https://xxxx/xxx" }, "author":{//项目作者信息 "name":"surging", "email":"xxx@163.com" }, "license":"ISC",//项目许可协议 "devDependencies":{//项目依赖的插件,加-dev安装会自动加到此处 "gulp":"^3.8.11", "gulp-less":"^3.0.0" } }
创建package.json文件,语法npminit
cd~/workspace/demo npminit
然后一步步按提示往下填写信息即可,如下:
npminit
然后你可以看到文件夹下生成了一个package.json的文件,打印信息如下:
package.json信息打印
当然你也可以手动创建,不过我相信你不会这么干。
4.查看package.json帮助文档,语法为:cnpmhelppackage.json
#后语
本文介绍了写常用的npm用法,如果大家有不同的看法和建议,欢迎大家评论区交流哦~