如何能分清npm cnpm npx nvm


Posted in Javascript onJanuary 17, 2019

用过 npm cnpm吗?知道 npx nvm 吗?

唔~

npm

npm 的全称是 Node Package Manager 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具,在安装的 nodejs 的时候,npm 会跟着一起安装。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。

npm -v 显示版本,检查npm 是否正确安装
npm help 可查看某条命令的详细帮助,例如npm help install
npm list -g 查看已经安装的模块
npm show express 查看已经安装的模块的详情 
npm cache clean --force 清除npm本地缓存

npm init 初始化
npm install xxx 下载包
npm uninstall xxx 卸载包
npm update xxx 更新包
npm outdated -g --depth=0 要找出需要更新的软件包

发布一个 npm 包:

  • 注册 && 查询:https://www.npmjs.com
  • 登录:npm login
  • 查询确认成功:npm whoami
  • 上传包:npm publish
  • 验证邮箱:npm adduser
  • 换源:npm config set registry http://registry.npmjs.org
  • 更新:修改 version 后 npm publish

cnpm

cnpm 淘宝镜像,可以看成是 npm 的国内版本,下载 npm 包的速度更快。

安装 npm install cnpm -g --registry=https://registry.npm.taobao.org。

npx

npm v5.2.0 引入的一条命令。

npx 会帮你执行依赖包里的二进制文件,引入这个命令的目的是为了提升开发者使用包内提供的命令行工具的体验。

把原来需要全局安装的包放到项目目录下安装。

old:

npm install -g create-react-app

create-react-app my-app

new:

npx create-react-app my-app

临时安装 create-react-app 包,命令完成后 create-react-app 会删掉,不会出现在 global 中,下次再执行,还是会重新临时安装。

nvm

node 管理工具

在开发中,有时候对 node 的版本有要求,有时候需要切换到指定的 node 版本来重现问题等。遇到这种需求的时候,我们需要能够灵活的切换 node 版本,nvm 就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个 node 版本之间切换。

nvm 不支持 Windows,但是有替代品,也就是 nvm-windows。

安装 nvm:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

安装完成后关闭终端,重新打开终端输入 nvm 验证一下是否安装成功,当出现“Node Version Manager”时,说明已安装成功。

如果在新的终端输入 nvm 时提示:command not found: nvm,有可能是以下原因之一:

你的系统可能缺少一个 .bash_profile 文件,你可以创建一个此文件(可通过vi或vim命令),打开复制粘贴以下代码(安装nvm成功后终端的最好3行代码)进去,保存,然后再次运行安装命令;

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

注意:如果你安装了 oh my zsh ,需要在 .zshrc 文件去添加以上配置信息,(一般安装成功都会自动写入这个文件最底部)。

如果上面没有解决问题,打开你的 .bash_profile 文件,并添加以下代码:
source ~/.bashrc,更改完记得保存更改。

常用命令:

nvm ls-remote    列出全部可以安装的版本号
nvm install stable   安装当前最新的稳定版
nvm install v10.14.0  安装指定版本
nvm ls      显示所有安装的版本
nvm current     查看当前版本
nvm use v10.14.0   切换node版本
nvm alias default v10.14.0 设置默认版本

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

Javascript 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
在javascript中对于DOM的加强
Apr 11 Javascript
javascript中验证大写字母、数字和中文
Jan 15 Javascript
Jquery中基本选择器用法实例详解
May 18 Javascript
jquery实现手风琴效果
Nov 20 Javascript
AngularJS实现分页显示数据库信息
Jul 01 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
基于Vue实现支持按周切换的日历
Sep 24 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
vue项目中api接口管理总结
Apr 20 Javascript
如何用JavaScipt测网速
May 09 Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 #Javascript
npm 常用命令详解(小结)
Jan 17 #Javascript
JavaScript设计模式之享元模式实例详解
Jan 17 #Javascript
vuex页面刷新后数据丢失的方法
Jan 17 #Javascript
jquery获取img的src值实例介绍
Jan 16 #jQuery
js中int和string数据类型互相转化实例
Jan 16 #Javascript
JavaScript设计模式之观察者模式实例详解
Jan 16 #Javascript
You might like
Memcached常用命令以及使用说明详解
2013/06/27 PHP
php实现天干地支计算器示例
2014/03/14 PHP
thinkphp缓存技术详解
2014/12/09 PHP
php猜单词游戏
2015/09/29 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
js选择器全面解析
2016/06/27 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
前端开发之便利店收银系统代码
2019/12/27 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
python基础教程之缩进介绍
2014/08/29 Python
python3.5仿微软计算器程序
2020/03/30 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
python 制作简单的音乐播放器
2020/11/25 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
Gap英国官网:Gap UK
2018/07/18 全球购物
JAVA和C++的区别
2013/10/06 面试题
单位实习证明怎么写
2014/01/17 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
浅析MySQL如何实现事务隔离
2021/06/26 MySQL
Django框架之路由用法
2022/06/10 Python