使用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 相关文章推荐
基于promise.js实现nodejs的promises库
Jul 06 NodeJs
Google官方支持的NodeJS访问API,提供后台登录授权
Jul 29 NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
Nodejs抓取html页面内容(推荐)
Aug 11 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
nodejs使用express获取get和post传值及session验证的方法
Nov 09 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
NodeJS 实现多语言的示例代码
Sep 11 NodeJs
nodejs提示:cross-device link not permitted, rename错误的解决方法
Jun 10 NodeJs
图解NodeJS实现登录注册功能
Sep 16 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 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
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
PHP多进程简单实例小结
2019/11/09 PHP
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
javascript模拟命名空间
2015/04/17 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
Angularjs分页查询的实现
2017/02/24 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
配置eslint规范项目代码风格
2019/03/11 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
ptyhon实现sitemap生成示例
2014/03/30 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python中的Numpy矩阵操作
2018/08/12 Python
python实现飞行棋游戏
2020/02/05 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
Django 用户认证Auth组件的使用
2020/11/30 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
大学自荐信
2013/12/12 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
银行职员自我鉴定
2014/04/20 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
法律系毕业生求职信
2014/05/28 职场文书
安全责任书怎么写
2014/07/28 职场文书
Vue3中的Refs和Ref详情
2021/11/11 Vue.js