如何能分清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 相关文章推荐
JavaScript 变量作用域分析
Jul 04 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 Javascript
SWFObject基本用法实例分析
Jul 20 Javascript
详解JavaScript语言的基本语法要求
Nov 20 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
vue绑定设置属性的多种方式(5)
Aug 16 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
May 22 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
tweenjs缓动算法的使用实例分析
Aug 26 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
php批量删除数据
2007/01/18 PHP
php fckeditor 调用的函数
2009/06/21 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
返回页面顶部top按钮通过锚点实现(自写)
2013/08/30 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
Python深入学习之对象的属性
2014/08/31 Python
Python如何判断数独是否合法
2016/09/08 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
python实现网页录音效果
2020/10/26 Python
异步传递消息系统的作用
2016/05/01 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
舞蹈教育学专业推荐信
2013/11/27 职场文书
项目专员岗位职责
2013/12/04 职场文书
护士工作失误检讨书
2014/09/14 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
在项目中使用redis做缓存的一些思路
2021/09/14 Redis
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby