npm 是什么?
npm 是什么?
本文寫于 2020 年 6 月 16 日
最近幫幾個同學裝開發環境,發現他們會各種“卡死”在 npm 安裝一些包的過程中。
他們會非常糾結這個命令我明明敲的和網上差不多,為什么錯了呢?
其中一個鍋,我覺得改甩給 CSDN,實在是有很多錯誤的解決方案被放在了網站上;另一個就是其實很多人都不會告訴新人 npm 到底是什么,只是單純的甩給他們幾條命令,任其自生自滅。
要談 npm,那必然要先說說什么是程序員的社區。
社區
“自古以來”程序員就有著社區文化。社區即為一些擁有共同職業或者相同興趣的人們自發的組織在一起,分享信息與資源,進行合作。
那程序員的社區干些什么呢?
- 分享源代碼;
- 討論代碼問題;
- 分享學習資源和各種好玩的網站之類。
比如最大的程序員社區就是 GitHub。加入 GitHub 之后,你就可以使用社區中的別人的開源代碼和項目了(注意開源協議),同時你也可以貢獻你的代碼,讓全世界都能看見。
但是 GitHub 才幾年,之前的程序員是怎么共享代碼的呢?
稍微早一點,那真的很難去讓所有人加入社區,可是稍微往后一點,大家都會通過網址去共享代碼。
比如你想使用 jQuery,就可以使用 <script src="xxxxx"> 來在自己的網站上引入 jQuery。有了 GitHub 之后,還可以通過 clone xxxx 將代碼從 GitHub 下載到本地。
但是其實還是蠻麻煩的,因為下載下來不僅要去很多的網站進行下載,而且如果有個網站掛了呢?那整個網頁都會收到影響呀。
于是 Isaac Z. Schlueter 就給出了一個解決方案:用一個工具集中這些代碼。之后便創建了 npm。
所謂 npm,全稱就是 Node Package Manager,node 包管理器。
npm 的實現思路可以這么理解:
- 買個服務器做倉庫;
- 讓 jQuery、Bootstrap……等將代碼提交到服務器上;
- 如果有人想用這些庫,只需要把要用的庫
npm install jQuery到本地; - 庫的代碼就會被下載到 node_modules 目錄中。
這樣子被使用的代碼,就叫做“包”,你可以用他下載、刪除很多包,所以叫做“包管理器”。
最后解釋一下這幾個命令:
npm install xxx
先安裝 xxx,但是這樣安裝,只是下載了,并沒有“登記”到你的項目,必須連同版本號手動將他們添加到模塊配置文件 package.json 中的依賴里。
npm install xxx -S
優化上一個操作,它會自動幫你添加到 package.json 的依賴——比如 vue、react。
npm install xxx -D
跟上一個幾乎一樣,區別是,這個是將包添加到開發依賴——比如 prettier(格式化代碼)、babel(編譯代碼)。
npm install -g xxxx
將 xxxx 包,全局安裝到你的電腦上。
(完)
總結
- 上一篇: 问题集录06--SpringBoot创建
- 下一篇: 漫谈NIO(3)之Netty实现