npm、yarn、cnpm、pnpm 使用操作都在這了

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以加我微信?ruochuan12


有時候想查個命令,或者換個鏡像找了幾篇文章才找到,最近閑著沒事干,干脆整理一篇文檔,以后就不用在網上瞎搜有的還寫不全。

Usage

全局安裝

//?安裝node自帶npm,檢查是否安裝成功,執行如下命令
npm?-v??//?6.14.15//?yarn
npm?install?-g?yarn//?cnpm?
npm?install?-g?cnpm//?pnpm
npm?install?-g?pnpm

初始化一個項目

npm?init
//?OR
yarn?init//?快速生成的package.json默認配置
npm/yarn?init?-y

安裝項目依賴

//?npm?/?cnpm?/?pnpm
//?簡寫,全稱?npm?install
npm?i?[package]//?yarn
yarn?add?[package]//?安裝指定版本
npm?i?[package]@[version]
yarn?add?[package]@[version]//?小栗子
//?安裝?jquery
npm?i?jquery@3.0.0//?查看package.json?
"jquery":?"^3.0.0"

Tips1 意外情況

我們經常會在安裝一半退出在繼續安裝會報錯,這是因為有緩存的原因。

npm?cache?clean?--force

Tips2 --save--dev意思

npm?install?vue
npm?install?vue?--save
npm?install?@babel/core?--save-dev空
查看package.json,文件內容不發生改變,在運行項目且有引用該依賴時能正常運行,當npm i時候,不會安裝該依賴。--save
查看package.json 會有一個dependencies對象,里面就是項目運行需要的依賴。
dependencies?代表項目運行所依賴的模塊
簡寫?-S
npm?install?express?-S--save-dev
查看package.json 會有一個devDependencies對象,里面就是項目開發時候需要的依賴。
devDependencies?代表項目開發所需要的模塊
如:babel 是發布時,將 ES6 代碼編譯成 ES5 ,那么 babel 就是devDependencies。
簡寫?-D
npm?install?express?-D

Tips3 ^和~的區別

//?package.json中^和~的區別"vue":?"~2.6.0",
"es6-promise":?"^2.0.0"~符號
假設vue版本已經更新到2.7.0以上,當我們重新安裝項目依賴,只會匹配到2.6.x的最新版本,不會匹配到2.7.0及以上^符號
假設es6-promise更新3.0.0,當我們重新安裝項目依賴,es6-promise始終是2.0.0

Tips4 版本號代表含義

"vue":?"2.6.0"第一位表示:主版本號,常用于大版本更新,可能不兼容舊版本。
如Vue2.0和Vue3.0,雖然說向下兼容,但是部分語法存在兼容問題。第二位表示:次版本號,增加了新的功能,基本向下兼容。第三位表示:補丁號,?修復了bug等。

全局包管理

//?查看當前哪些包需要更新
npm?outdated?-g?--depth=0@vue/cli????4.5.9???4.5.13??4.5.13??global
npm???????6.14.15??6.14.15??7.24.0??global
pnpm???????5.17.3??5.18.10??6.15.1??global//?更新全局的依賴包
npm?update?-g//?更新依賴包
npm?update?pnpm//?可能報錯?Remove?the?existing?file?and?try?again,?or?run?npm?with?--force?to?overwrite?files?recklessly.1.?卸載?pnpm
npm?uninstall?-g?pnpm清理?npm?緩存
npm?cache?clean?--force重新安裝
npm?i?pnpm?-g//?第二種?強制安裝依賴
npm?install?-g?pnpm?--force

升級依賴包

"vue":?"^2.6.0"npm?update?vueyarn?upgrade?vue@2.6.14?指定版本
yarn?upgrade?vue@^?//選擇指定版本//?"vue":?"^2.6.14"

刪除依賴包

"vue":?"^2.6.0"npm?uninstall?vueyarn?remove?vue

更新項目中所有依賴項

  • npm-check

  • npm-check-updates

二者目的相同,只是在更新過程中的一些交互展示形式存在一定的差異

npm-check-updates

安裝

npm?install?-g?npm-check-updates

使用

//?查看可更新包
ncu[====================]?12/12?100%@vssue/api-github-v4?????????????????????????^1.4.0??→???^1.4.7?????@vssue/vuepress-plugin-vssue?????????????????^1.4.6??→???^1.4.8?????@vuepress-reco/vuepress-plugin-back-to-top???^1.5.7??→???^1.6.0?????@vuepress/plugin-google-analytics????????????^1.8.1??→???^1.8.2?????@vuepress/plugin-pwa?????????????????????????^1.8.1??→???^1.8.2?????dayjs???????????????????????????????????????^1.10.4??→??^1.10.7?????vuepress?????????????????????????????????????^1.8.1??→???^1.8.2?????vuepress-plugin-live2d-model?????????????????^1.0.0??→???^1.0.7?????vuepress-plugin-one-click-copy???????????????^1.0.2??→???^1.0.6?//?升級所有依賴項ncu?-uncu?-u?vuepress?dayjs?...
fe2e03c84d5f8980238f02161d3c45f5.png

npm-check

安裝

npm?install?npm-check?-g

使用

//?查看可更新包
npm-check//?升級所有依賴項
npm-check?-u
f7159385d27bfe15b62429c73222fec2.png

切換國內鏡像

目前常用的鏡像列表

npm?----?https://registry.npmjs.org/cnpm?---?https://registry.nlark.com/taobao?-?https://registry.npm.taobao.orgyarn?---?https://registry.yarnpkg.com/tencent-?https://mirrors.cloud.tencent.com/npm/

查看yarn當前鏡像源

yarn?config?get?registrynpm?config?get?registrycnpm?config?get?registrypnpm?config?get?registry//https://registry.nlark.com/

設置鏡像源

//?全局使用
yarn?config?set?registry?https://registry.npm.taobao.orgcnpm?config?set?registry?https://registry.nlark.com/
//?...//?臨時在項目中使用
npm?install?--registry?https://registry.npm.taobao.org

還原鏡像源

npm?config?set?registry?https://registry.npmjs.org
//?根據上面的鏡像列表替換就行。

nrm / yrm 管理鏡像源工具

yrm/nrm 不僅可以快速切換鏡像源,還可以測試自己網絡訪問不同源的速度,且yrm/nrm用法都相同。

安裝 yrm /nrm

npm?install?-g?yrm
//?or
npm?install?-g?nrm

列出當前鏡像源列表

yrm?lsnpm?-----??https://registry.npmjs.org/
cnpm?----??http://r.cnpmjs.org/
taobao?--??https://registry.npm.taobao.org/
nj?------??https://registry.nodejitsu.com/
rednpm?--?http://registry.mirror.cqupt.edu.cn
skimdb?--?https://skimdb.npmjs.com/registry
yarn?----??https://registry.yarnpkg.com

使用,測試

yrm?use?taobao
//?https://registry.npm.taobao.org/yrm?test?taobao
//?taobao?-?187ms

建議

Windows用戶

推薦使用yarn/npm,可能cnpm/pnpm安裝速度優于yarn/npm,但是可能造成詭異的 bug,比如項目運行不起來等等,最簡單直接的方法就是刪除node_modules重新安裝。

如圖所示,圖中的項目通過pnpm/cnpm安裝的依賴項, 直接運行不起來,之所以只針對Win系統,因為Win系統刪除node_modules快則幾分鐘,慢則十幾分鐘,而mac直接秒刪,試錯成本低可以嘗試。

7b16f035348674c8dcb10e5e3426888d.png

Q: 項目通過cnpm/pnpm 安裝依賴怎么知道會不會有詭異的 bug。

A: 項目如果能運行起來,99%不會有詭異的 bug,萬一調試中報錯,寫的代碼有沒有問題,可以查看報錯日志自行查看一下相關教程。

參考文獻

  • https://blog.csdn.net/xuaner8786/article/details/81630445

  • https://juejin.cn/post/6844904114762022926

  • https://www.npmjs.com/package/npm-check-updates

  • https://juejin.cn/post/6913833065647341581

  • https://github.com/dylang/npm-check

最近組建了一個江西人的前端交流群,如果你是江西人可以加我微信?ruochuan12?私信 江西?拉你進群。

推薦閱讀

1個月,200+人,一起讀了4周源碼
我歷時3年才寫了10余篇源碼文章,但收獲了100w+閱讀

老姚淺談:怎么學JavaScript?

我在阿里招前端,該怎么幫你(可進面試群)

145b37375e21619e7ed687d459afb6ac.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,最近組織了源碼共讀活動

eea8b286fe78d95deed27ce579110cea.png

識別方二維碼加我微信、拉你進源碼共讀

今日話題

略。歡迎分享、收藏、點贊、在看我的公眾號文章~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CAN控制器的選擇

在進行CAN總線開發前,首先要選擇好CAN總線控制器。下面就比較一些控制器的特點。 一些主要的CAN總線器件產品 制造商 產品型號 器件功能及特點 Intel 82526 82527 8XC196CA/CB CAN通信控制器,符合CAN2.0A CAN通信控制器,符合CAN2.0B 擴展…

洛谷 4115 Qtree4——鏈分治

題目:https://www.luogu.org/problemnew/show/P4115 論文:https://wenku.baidu.com/view/1bc2e4ea172ded630b1cb602.html 重鏈剖分,分別用線段樹維護每條重鏈。線段樹葉子的信息是該點輕孩子的信息;線段樹區間的信息是考慮重鏈的一…

每次啟動項目的服務,電腦竟然乖乖的幫我打開了瀏覽器,100行源碼揭秘!

1. 前言大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以加我微信 ruochuan12 參與,已進行三個月了,大家一起交流學習,共同進步。想學源碼,極力推薦之前我寫的《學習源碼整體架構系列》 包含jQuery、…

初級爬蟲師_初級設計師的4條視覺原則

初級爬蟲師重點 (Top highlight)Like many UXers, I got into the industry from a non-visual background (in my case it was Business and later on Human Cognition). Even though I found great benefits coming from those backgrounds, it also meant I had no UI/Visua…

String類中IndexOf與SubString

IndexOfpublic: int IndexOf( String^ value, int startIndex, int count ) 說明: value類型:System..::.String要查找的 String。 startIndex類型:System..::.Int32搜索起始位置。 count類型:System..::.Int32要檢查的字符位置…

開源監控解決方案OpenFalcon系列(一)

OpenFalcon是由小米的運維團隊開源的一款企業級、高可用、可擴展的開源監控解決方案,,在眾多開源愛好者的支持下,功能越來越豐富,文檔更加的完善,OpenFalcon 已經成為國內最流行的監控系統之一。小米、美團、金山云、快…

如何利用 webpack 在項目中做出亮點

大家好,我是若川。最近這幾年,在前端代碼打包器領域內,webpack 算得上是時下最流行的前端打包工具。它可以分析各個模塊的依賴關系,最終打包成我們常見的靜態文件:.js 、 .css 、 .jpg 、.png,極大地提升了…

[轉]上下拉電阻

上下拉電阻有什么用? 對這個問題,平時沒有留意過,搞設計的時候都是照本宣科,沒有真正弄懂意思. 很多單片機開發的入門者,以及一些從事軟件開發的人,往往在開發單片機的時候遇到上拉電阻、下拉…

yum安裝Mariadb,二進制安裝Mariadb

yum安裝Mariadb 設置Mariadb的yum源 vim /etc/yum.repos.d/mariadb.repo [mariadb] namemariadb baseurlhttps://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.2/centos7-amd64/ gpgcheck0 使用清華yum源安裝Mariadb,可以選擇不同的版本,此處安裝10.2.23 yum in…

Oracle中的wmsys.wm_concat

Oracle中的wmsys.wm_concat主要實現行轉列功能(說白了就是將查詢的某一列值使用逗號進行隔開拼接,成為一條數據)。 wmsys.wm_concat除了單獨使用外還可以和over函數結合使用。 開始看看具體使用方法: select t.rank, t.Name from t_menu_item t; rank…

Github 王炸功能!Copilot 替代打工人編程?

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以加我微信 ruochuan12 參與,已進行三個月了,大家一起交流學習,共同進步。大家好,我是皮湯。最近組里在討論一個有意思的工具 Github Copilot&#xff…

ux和ui_糟糕的UI與UX番茄醬模因

ux和uiAt face value, this meme appears to be a quick and easy tool for educating the general public about what the differences are between UI and UX. You might look at the attractive glass bottle labeled “UI” and understand that UI might have to do more …

Linux中的wheel用戶組是什么?

在Linux中wheel組就類似于一個管理員的組。 通常在Linux下,即使我們有系統管理員root的權限,也不推薦用root用戶登錄。一般情況下用普通用戶登錄就可以了,在需要root權限執行一些操作時,再su登錄成為root用戶。但是,任…

ElementUI 組件庫 md-loader 的解析和優化

大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以加我微信 ruochuan12 參與,已進行三個月了,大家一起交流學習,共同進步。背景相信很多同學在學習 webpack 的時候,對 loader 的概念應該有所了解&…

一個html5流星雨源碼

流星會隨著鼠標的方向劃過&#xff0c;按緊鼠標左鍵可以增長流星的尾巴。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang"zh-CN"> <head> <title>流星雨<…

csdn 用戶 螞蟻翹大象_用戶界面設計師房間里的大象

csdn 用戶 螞蟻翹大象Once upon a time, an educated eye detected a new trend in UI designs, particularly, in Dribbble. It was a conceptual proposition, not an actual design for a customer or an app. Trying to explain the characteristics of this new trend, a …

面試官問發布訂閱模式是在問什么?

大家好&#xff0c;我是若川。最近組織了源碼共讀活動&#xff0c;感興趣的可以加我微信 ruochuan12 參與&#xff0c;已進行了三個多月&#xff0c;大家一起交流學習&#xff0c;共同進步。本文來自 simonezhou 小姐姐投稿的第八期筆記。面試官常問發布訂閱、觀察者模式&#…

linux服務器內存、根目錄使用率、某進程的監控告警腳本

腳本內容如下 #!/bin/bash#磁盤超過百分之80發送郵件告警DISK_USEDdf -T |sed -n "2p" |awk {print ($4/$3)*100}DISK_percentage80if [ expr "$DISK_USED > $DISK_percentage" ]thenecho "$HOSTNAME服務器當前硬盤使用率為$DISK_USED%" | ma…

figma下載_不用擔心Figma中的間距

figma下載重點 (Top highlight)I spend way too much time caring about spacing when designing interfaces and building design systems. You are probably no stranger to the constant 1 px and 8 px nudging, continuous checking of the bottom or in-between space for…

【建議收藏】面試官賊喜歡問的 32+ vue 修飾符,你掌握幾種啦?

大家好&#xff0c;我是若川。最近組織了源碼共讀活動&#xff0c;感興趣的可以加我微信 ruochuan12 參與&#xff0c;已進行了三個多月&#xff0c;大家一起交流學習&#xff0c;共同進步。前言vue簡潔好用體現在很多個地方&#xff0c;比如其內置了32修飾符&#xff0c;可以很…