使用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写的一个简单项目打包工具
May 11 NodeJs
nodejs 实现模拟form表单上传文件
Jul 14 NodeJs
轻松创建nodejs服务器(10):处理上传图片
Dec 18 NodeJs
NodeJS制作爬虫全过程(续)
Dec 22 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
解决Nodejs全局安装模块后找不到命令的问题
May 15 NodeJs
Nodejs处理异常操作示例
Dec 25 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 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
Zend的AutoLoad机制介绍
2012/09/27 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
PHP串行化与反串行化实例分析
2016/12/27 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
JS修改css样式style浅谈
2013/05/06 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
nodejs中art-template模板语法的引入及冲突解决方案
2017/11/07 NodeJs
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
Python线性回归实战分析
2018/02/01 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
python实现图片中文字分割效果
2019/07/22 Python
wxpython绘制圆角窗体
2019/11/18 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
Corelle官方网站:购买康宁餐具
2016/11/02 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
UNIX命令速查表
2012/03/10 面试题
医药大学生求职简历的自我评价
2013/10/17 职场文书
机关门卫岗位职责
2013/12/30 职场文书
高中政治教学反思
2014/01/18 职场文书
学前班评语大全
2014/05/04 职场文书
12岁生日演讲稿
2014/05/14 职场文书
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python
MySQL使用IF语句及用case语句对条件并结果进行判断 
2022/09/23 MySQL