npm源改為國內
此方法不需要安裝cnpm也可以使用淘寶鏡像,提高國內訪問速度
由於 Node 的官方模塊倉庫網速太慢,模塊倉庫需要切換到阿里的源。
npm config set registry https://registry.npm.taobao.org/
執行下面的命令,確認是否切換成功。
npm config get registry
如果輸出:https://registry.npm.taobao.org/,則表示切換成功
npm源換回默認
npm config set registry https://registry.npmjs.org/
npm config get registry
cnpm
cnpm是淘寶團隊做的國內鏡像,因為npm的服務器位於國外可能會影響安裝速度。淘寶鏡像與官方同步頻率目前為 10分鍾 一次以保證盡量與官方服務同步。
PS.網上有一些貼子說cnpm會丟包,如果遇到丟包,刪除node_modules目錄,再重新使用npm,總體來說網絡上不太建議使用cnpm。
官網:https://developer.aliyun.com/mirror/NPM?from=tnpm
安裝:命令提示符執行
npm install cnpm -g --registry=https://registry.npm.taobao.org
cnpm -v
來測試是否成功安裝
安裝完成后可以cnpm通過來代替默認的npm
cnpm install [name]
nrm
nrm
包安裝命令:npm i nrm -g
nrm
能夠管理所用可用的鏡像源地址以及當前所使用的鏡像源地址,但是只是單純的提供了幾個url並能夠讓我們在這幾個地址之間方便切換nrm ls
即nrm list,查看所有可用的鏡像,並可以切換。*號表示當前npm使用的地址,可以使用命令nrm use taobao
或nrm use npm
來進行兩者之間的切換。
C:\Users\qing>nrm ls
npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
nj --------- https://registry.nodejitsu.com/
npmMirror -- https://skimdb.npmjs.com/registry/
edunpm ----- http://registry.enpmjs.org/
npm參數-g -S -D
-g
:全局安裝。 將會安裝在C:\Users\Administrator\AppData\Roaming\npm
,並且寫入系統環境變量;非全局安裝:將會安裝在當前定位目錄;全局安裝可以通過命令行任何地方調用它,本地安裝將安裝在定位目錄的node_modules文件夾下,通過要求調用;-S
:即npm install module_name --save
,寫入package.json
的dependencies
,dependencies
是需要發布到生產環境的,比如jq,vue全家桶,ele-ui等ui框架這些項目運行時必須使用到的插件就需要放到dependencies
-D
:即npm install module_name --save-dev
,寫入package.json
的devDependencies
,devDependencies
里面的插件只用於開發環境,不用於生產環境。比如一些babel編譯功能的插件、webpack打包插件就是開發時候的需要,真正程序打包跑起來並不需要的一些插件。
為什么要保存在
package.json
因為node_module包實在是太大了。用一個配置文件保存,只打包安裝對應配置文件的插件,按需導入。
EAI_AGAIN
C:\Users\qing>npm install -g artipub --registry=https://registry.npm.taobao.org
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npm.taobao.org/caporal failed, reason: getaddrinfo EAI_AGAIN registry.npm.taobao.org
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\qing\AppData\Roaming\npm-cache\_logs\2020-05-12T04_34_24_304Z-debug.log
在安裝依賴時,報上面這個錯誤,網上有說防火牆的,我機器上的防火牆是關閉狀態的,通過ping也是能連通這個鏈接
解決方法
通過上面提到的nrm,把源從taobao切換為其它就解決了,因為我們公司的網絡屏蔽了淘寶和京東等網站。
需要全局安裝的庫
全局安裝的庫在這個目錄C:\Users\qing\AppData\Roaming\npm
,都會有xx.cmd
--安裝webpack
npm install webpack -g
npm install webpack-cli -g
--安裝yarn
npm install --global yarn
參考資料:《'webpack' 不是內部或外部命令,也不是可運行的程序 或批處理文》
其它問題
為什么node_modules里面會有.staging這個東西?
.staging是在運行過程中出現的,當真正install所有包之后,node_modules里面的包就會顯示正常,也就是,出現這個就是沒有加載完。