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

唔~

npm

npm 的全称是 Node Package Manager 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具,在安装的 nodejs 的时候,npm 会跟着一起安装。通过 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 包:

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

cnpm

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

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

npx

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

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

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


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 设置默认版本
```

来源:https://segmentfault.com/a/1190000017912585

npm cnpm npx nvm 傻傻分不清的更多相关文章

  1. [转帖]十分钟快速理解DPI和PPI,不再傻傻分不清!

    十分钟快速理解DPI和PPI,不再傻傻分不清! https://baijiahao.baidu.com/s?id=1605834796518990333&wfr=spider&for= ...

  2. 学点经济学:M0、M1、M2、M3,傻傻分不清?(转载)

    来源:http://t.10jqka.com.cn/pid_97006727.shtml 学点经济学:M0.M1.M2.M3,傻傻分不清? 25,508人浏览 2018-08-03 11:06 常听人 ...

  3. ASCII、Unicode、UTF-8、UTF-8(without BOM)、UTF-16、UTF-32傻傻分不清

    ASCII.Unicode.UTF-8.UTF-8(without BOM).UTF-16.UTF-32傻傻分不清 目录 ASCII.Unicode.UTF-8.UTF-8(without BOM). ...

  4. 【jvm】08-垃圾回收器那么多傻傻分不清?

    [jvm]08-垃圾回收器那么多傻傻分不清? 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请顺手点 ...

  5. MVP MVC MVVM 傻傻分不清

    最近MVC (Model-View-Controller) 和MVVM (Model-View-ViewModel) 在微软圈成为显学,ASP.NET MVC 和WPF 的Prism (MVVM Fr ...

  6. OCA,OCP,OCM傻傻分不清?

    可能大家知道OCA.OCP.OCM的关系是一个比一个难考,一个比一个含金量高,但是你知道具体的考试科目.考试方式.就业形势区别吗?不知道的话这篇通俗易懂的文章会让你一目了然. 区别一:含金量 ■OCA ...

  7. session cookie傻傻分不清

    做了这么多年测试,还是分不清什么是cookie,什么是session?很正常,很多初级开发工程师可能到现在都搞不清什么是session,cookie相对来说会简单很多. 下面这篇文章希望能够帮助大家分 ...

  8. 【华为敏捷/DevOps实践】7. 敏捷,DevOps,傻傻不分清楚【华为云技术分享】

    文:姚冬(华为云DevCloud首席技术布道师,资深DevOps与精益/敏捷专家,金融解决方案技术Leader,中国DevOpsDays社区核心组织者) 前言 敏捷是什么?DevOps是什么?两者有什 ...

  9. Shell中傻傻分不清楚的TOP3

    Shell中傻傻分不清楚的TOP3 发布文章 近来小姐姐又犯憨憨错误,问组内小伙伴export命令不会持久化环境变量吗?反正我是问出口了..然后小伙伴就甩给了我一个<The Linux Comm ...

随机推荐

  1. Angular 基础教程(1)

    简介 什么是AngularJS 一个功能非常完备的前端框架,通过增强HTML的方式提供一种便捷开发Web应用程序的方式 其核心特点就是几乎无任何DOM操作,让开发人员的精力和时间全部集中于业务 MVC ...

  2. java 实现二叉树结构基本运算详细代码

    static final int MAXLEN = 20; //最大长度 class CBTType //定义二叉树节点类型 { String data; //元素数据 CBTType left; / ...

  3. @Component 注解

    @Component a) 初始化的名字默认为类名首字母小写:UserService 在容器中默认为 userService b) 可以指定初始化 bean 的名字:  @Component(valu ...

  4. 部署Smokeping

    1.环境安装 # yum -y install gcc* perl* httpd* libxml2 libxml2-devel libpng libpng-devel glib2 glib2-deve ...

  5. JS interview loop code

    //九九乘法表 document.write("<table width='600' border=0'>"); for(var i=1; i<=9; i++){ ...

  6. 如何使用代码获得一个function module的Where Used List

    如果要获得一个function module的Where Used List,我们通常用的办法是使用ABAP workbench里提供的功能. where used list显示结果如下: 但我接到一 ...

  7. 48. Rotate Image (matrix retation, transpose) Amazon problem

    You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...

  8. Python之List和Tuple类型(入门3)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407682.html 本文出自:[Edwin博客园] Python之List和Tuple类型 1. Pyth ...

  9. ACM-ICPC (10/15) Codeforces Round #440 (Div. 2, based on Technocup 2018 Elimination Round 2)

    A. Search for Pretty Integers You are given two lists of non-zero digits. Let's call an integer pret ...

  10. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 【莫队算法 + 异或和前缀和的巧妙】

    任意门:http://codeforces.com/problemset/problem/617/E E. XOR and Favorite Number time limit per test 4 ...