nodejs相关:npm、nvm、npx

node 与 npm 是什么不用多说了。
nvm 是管理与切换 node 版本的工具。
npx 是npm包执行器,作用是在不污染全局和项目环境的提前下,临时执行相关命令。

切换 npm 源

# 临时从指定源下载npm包
npm --registry https://registry.npm.taobao.org install express # 从淘宝源安装 express

# 全局修改
npm config set registry https://registry.npm.taobao.org

# 查看当前源
npm config get registry

# 重置为官方源:
npm config set registry https://registry.npmjs.org/

使用 nvm 管理node版本

你是否有这样的经历:当你入职新公司,接手一个老项目,或者当你从github上下载一个高赞的项目时,你满怀热情地在终端输入npm run dev,结果看到的是令人焦虑的满屏红,项目根本跑不起来。在你抓掉第n根头发之后终于发现,原因是 node 版本不匹配!这时就需要用到 nvm 啦!它可以让你不需要反复卸载重装 nodejs,只需要简单地执行一条版本切换命令,就可以随意地在各版本的 node 之间切换。
nvm 下载地址:
shell版本:nvm-sh/nvm
windows版本:coreybutler/nvm-windows
注意:安装 nvm 之前,要卸载nodejs
nvm 默认的nodejs下载源是 http://nodejs.org/dist/,是国外站点,国内下载非常慢,而且成功率低,推荐修改为淘宝源,具体方法为:
找到 nvm 的安装目录(windows默认为:C:\Users[当前用户]\AppData\Roaming\nvm,由于此时手边没有linux和macos测试,所以Linux或macos的小伙伴请自行查找路径),打开安装目录下的的 settings.txt
文件,将以下内容复制添加到文件中(注意不要覆盖文件的原有内容):

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

确保安装nvm之前卸载了nodejs,否则无法成功切换版本。
nvm 常用命令

nvm ls :   # 列出所有已安装的 node 版本,前面有 * 号的为当前使用中的版本
nvm ls-remote :   # 列出所有远程服务器的版本(官方node version list)
nvm list :   # 列出所有已安装的 node 版本
nvm list available :    # 显示所有可下载的版本
nvm install stable :   # 安装最新版 node
nvm install [node版本号] :    # 安装指定版本 node
nvm uninstall [node版本号] :    # 删除已安装的指定版本
nvm use [node版本号] :    # 切换到指定版本 node
nvm current :   #  当前正在使用的 node 版本
nvm alias [别名] [node版本号] :  # 给不同的版本号添加别名
nvm unalias [别名] :  # 删除已定义的别名
nvm alias default [node版本号] :   # 设置默认版本

npx

npx 是 npm v5.2.0 引入的一条命令,是npm 包执行器。
主要有以下特点:
临时安装可执行依赖包,不用全局安装,不用担心长期的污染。
可以执行依赖包中的命令,安装完成自动运行。
自动加载 node_modules 中依赖包,不用指定 $PATH 。
可以指定 node 版本、命令的版本,解决了不同项目需要使用不同版本的问题

npx会先到 node_modules/.bin 路径检查对应的命令是否存在,找到之后执行;
没有找到,就去环境变量 $PATH 里面,检查对应命令是否存在,找到之后执行;
还是没有找到,自动下载一个临时的依赖包最新版本在一个临时目录,然后再运行命令,运行完之后删除,不污染全局环境。

安装过程很简单,直接运行以下命令即可

npm install npx -g

常用方式:

# 开启静态服务器 (默认以终端所在的当前目录为根目录)
npx http-server -p 3000  # -p 参数为可选,默认端口 8080

# 使用指定的node版本执行命令
npx -p node@16.17.0 npm run dev # 使用 16.17.0 版本的node环境执行 npm run dev 
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354

推荐阅读更多精彩内容