使用npm安装最新版本nodejs


Posted in NodeJs onJanuary 18, 2018

# 安装 nodejs

 以下介绍的是命令行安装方法,读者也可以到 nodejs官网 上下载安装最新版。

sudo apt-get install nodejs-legacy
sudo apt-get instatll npm

升级npm为最新版本

sudo npm install npm@latest -g

往往用命令行安装的nodejs不是最新版本,而且升级nodejs并不是件非常简单的事情;这时我们需要用非常好用的nodejs版本管理模块n

sudo npm install -g n

通过 模块n 安装指定版本的 nodejs

sudo n latest
sudo n stable
sudo n lts

我们可以通过查看版本号来检查是否安装成功和是否安装到想要的版本

node -v
npm -v

# 说说 npm

npm (node package manage) 是 nodejs的包管理器,用于 node 插件的管理包括 安装、卸载、管理依赖等

使用npm安装插件,语法为; npm install <name> [-g] [--save-dev]
  2,1  <name> :要管理的插件名称,例如: npm install gulp-less --save-dev
  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中可以指明这些插件需要进行版本管理,在浏览或其他开发者使用时就能明白应该使用那个版本的插件,同时用npm intstall 安装时会根据package.json所指定的内容下载所需要的包。另外,用 npm install --production 只会下载package.json中dependencies节点的包

使用 npm 卸载插件, 语法格式为:npm uninstall <name> [-g][--save-dev]
  3.1 不要直接本地删除插件包
  3.2 删除全部插件,语法为:npm uninstall gulp-less gulp-gulify gulp-concat ...
  3.3 借助rimraf一次性删除: npm install rimraf -g,用法 rimraf node_modules

使用 npm 更新插件,语法为: npm update <name> [-g] [--save-dev]
  4.1 更新全部插件:```npm update [--save-dev]

查看 npm 帮助, 语法为:npm help

查看已装插件,语法为: npm list

# 选用 cnpm

npm 服务在国外,因此受网络影响很大,经常会出现异常,淘宝团队为此做了完整的npmjs.org镜像,版本同步频率为10min一次。官网地址为:http://npm.taobao.org

安装cnpm,使用命令 npm install cnpm -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": "project description!", // 项目描述(必须)
 "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 文件,语法 npm init

cd ~/workspace/demo
npm init

然后一步步按提示往下填写信息即可,如下:

npm init

然后你可以看到文件夹下生成了一个 package.json 的文件,打印信息如下:

package.json 信息打印

当然你也可以手动创建,不过我相信你不会这么干。

4.查看package.json帮助文档,语法为:cnpm help package.json

# 后语

  本文介绍了写常用的npm用法,如果大家有不同的看法和建议,欢迎大家评论区交流哦~

NodeJs 相关文章推荐
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
Nodejs下用submit提交表单提示cannot post错误的解决方法
Nov 21 NodeJs
nodejs和php实现图片访问实时处理
Jan 05 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
nodejs制作爬虫实现批量下载图片
May 19 NodeJs
让nodeJS支持ES6的词法----babel的安装和使用方法
Jul 31 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
详解NodeJs项目 CentOs linux服务器线上部署
Sep 16 NodeJs
浅谈Node的内存泄露问题
May 06 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 #NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 #NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 #NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 #NodeJs
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
Jan 05 #NodeJs
Nodejs连接mysql并实现增、删、改、查操作的方法详解
Jan 04 #NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 #NodeJs
You might like
PHP生成压缩文件实例
2015/02/07 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
美国购买新书和二手书网站:Better World Books
2018/10/31 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
JAVA代码查错题
2014/10/10 面试题
浅谈react路由传参的几种方式
2021/03/23 Javascript
关于元旦的广播稿
2014/02/16 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
煤矿安全承诺书
2014/05/22 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2015年入党决心书
2015/02/05 职场文书
python munch库的使用解析
2021/05/25 Python
cypress测试本地web应用
2022/06/01 Javascript