nodejs 最新版安装npm 的使用详解


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

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

2、使用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节点的包

3、使用 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

4、使用 npm 更新插件,语法为: npm update <name> [-g] [--save-dev]

4.1 更新全部插件:```npm update [--save-dev]

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

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

# 选用 cnpm

  1. npm 服务在国外,因此受网络影响很大,经常会出现异常,淘宝团队为此做了完整的npmjs.org镜像,版本同步频率为10min一次。官网地址为: http://npm.taobao.org
  2. 安装cnpm,使用命令 npm install cnpm -g --registry=https://registry.npm.taobao.org 安装完成后用 cnpm -v 查看是否安装成功
  3. 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

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

nodejs 最新版安装npm 的使用详解

npm init

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

nodejs 最新版安装npm 的使用详解

package.json 信息打印

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

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

以上就是本文的全部内容,本文介绍了写常用的npm用法,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
nodejs教程之异步I/O
Nov 21 NodeJs
nodejs中使用多线程编程的方法实例
Mar 24 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
nodejs集成sqlite使用示例
Jun 05 NodeJs
Nodejs实现多房间简易聊天室功能
Jun 20 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
NodeJS实现同步的方法
Mar 02 NodeJs
使用npm安装最新版本nodejs
Jan 18 #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
You might like
图形数字验证代码
2006/10/09 PHP
ThinkPHP自动填充实现无限级分类的方法
2014/08/22 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JavaScript中this详解
2015/09/01 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
介绍下Java的输入输出流
2014/01/22 面试题
是否有自动比较结构的方法
2015/06/03 面试题
机械专业应届生求职信
2013/12/12 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
黄金酒广告词
2014/03/21 职场文书
党员个人公开承诺书
2014/08/29 职场文书
村党建工作汇报材料
2014/11/02 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
教师继续教育反思周记
2015/06/25 职场文书
Python作用域和名称空间的详细介绍
2022/04/13 Python