專業(yè)做化妝品的網(wǎng)站在線生成html網(wǎng)頁
項(xiàng)目記錄,具有獨(dú)特性,僅供參考
項(xiàng)目好好的運(yùn)行,前一天裝個(gè)測試工具包, 突然就不行了,卸載重裝也不行,所有的項(xiàng)目都安裝失敗,新起一個(gè)項(xiàng)目也不行,有時(shí)候某個(gè)單獨(dú)安裝一個(gè)包可以,有時(shí)候又不行了,錯(cuò)誤也是五花八門,我貼幾個(gè)示例。。。
瘋狂百度,才找到原因
首先,yarn和npm不建議混合用,容易因?yàn)間lobal配置重合等原因,導(dǎo)致安裝沖突
其次更新下載包地址,最后去除Puppeteer 插件單獨(dú)安裝
更新下載包地址
采用國外下載源太慢了,淘寶源因?yàn)閰f(xié)議過期失效了
注意:原域名https://registry.npm.taobao.org/ 在 2022.06.30 號(hào)正式下線和停止 DNS 解析
//npm
//查看鏡像使用狀態(tài)
npm config get registry
// 最新地址 淘寶 NPM 鏡像站喊你切換新域名啦!
npm config set registry https://registry.npmmirror.com//yarn
//查看鏡像使用狀態(tài)
yarn config get registry
// 最新地址 淘寶 NPM 鏡像站喊你切換新域名啦!
yarn config set registry https://registry.npmmirror.com
鏈接: npm 模塊安裝機(jī)制簡介
鏈接: Yarn vs npm:你需要知道的一切
鏈接: yarn、npm、cnpm三者如何優(yōu)雅的在一起使用 ?
鏈接: nodejs與npm版本對應(yīng)關(guān)系以及使用nvm管理node版本以及降npm版本
報(bào)錯(cuò)總結(jié):
1. npm和yarn修改全局安裝路徑和緩存路徑
建議
yarn 和 npm 的 全局安裝位置 和 全局bin位置,最好設(shè)置在同一個(gè)盤符呢,這樣 bin 目錄中的 .cmd腳本文件中可以直接生成相對路徑。若不在同一個(gè)盤符內(nèi),則將會(huì)生成絕對路徑,由于使用了%~dp0\ 標(biāo)識(shí)符,會(huì)導(dǎo)致找不到命令指向的模塊。
另外,如果會(huì)使用 npm link 或者 yarn link 時(shí),建議 將所有路徑都配置在C盤,因?yàn)?link 的全局范圍,默認(rèn)為C盤。
npm的安裝和修改
//查看當(dāng)前npm包的全局安裝路徑
npm prefix -g
//查看配置列表
npm config ls //修改npm的包的全局安裝路徑
npm config set prefix "D:\software\nodeJs\info\node_global"
//修改npm的包的全局cache位置
npm config set cache "D:/Users/nodejs/npm_cache"
將全局路徑配置在環(huán)境變量中
此電腦 -> 屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量 -> 系統(tǒng)變量 -> path ->編輯 - > 新增路徑 -D:\software\nodeJs\info\node_global (路徑可以根據(jù)npm prefix -g查看)
yarn的安裝和修改
//查看 yarn 全局bin位置
yarn global bin
//查看 yarn 全局安裝位置
yarn global dir
//查看 yarn 全局cache位置
yarn cache dir//修改 yarn 全局bin位置
yarn config set prefix "D:\software\Yarn\Data"
//修改yarn 全局安裝位置
yarn config set global-folder "D:\software\Yarn\Data\global"
//修改yarn 全局cache位置
yarn config set link-folder "D:\software\Yarn\Data\link"
//修改yarn 全局 link 位置
yarn config set link-folder "D:\software\Yarn\Data\link"
2. node buildcheck.js > buildcheck.gypi && node-gyp rebuild throw new Error
因項(xiàng)目本地部署需要上傳打包文件,使用到了 ssh2-sftp-client 包,導(dǎo)致的依賴包東西缺失而拋出異常,解決方案參考鏈接: buildcheck包報(bào)錯(cuò)問題排查
3. Puppeteer 安裝使用及報(bào)錯(cuò)
安裝此包一定一定一定要注意,建議采用yarn安裝
yarn add puppeteer
如果你初次拿到項(xiàng)目,開始第一次安裝包,使用npm install或者yarn install,如果puppeteer安裝失敗,并且會(huì)阻斷整個(gè)安裝進(jìn)程,導(dǎo)致報(bào)一堆亂七八糟的錯(cuò)誤,每次都不一樣,比如權(quán)限不夠,認(rèn)證失效等等,你可以嘗試先把這個(gè)包去除,后面整體再采用yarn 或者cnpm單獨(dú)安裝方式
反正這個(gè)安裝會(huì)有好多的問題,大家多看看資料
鏈接: puppetter安裝就踩坑-解決篇
鏈接: puppeteer新手遇到的坑
4. 如果沒有辦法,還是可以嘗試卸載重裝的
就是把yarn和npm,以及node全部卸載,但是為了確保你項(xiàng)目的穩(wěn)定性,你要提前記錄你得版本號(hào),再安裝的時(shí)候最好按照相同或者兼容的版本,不要跨度太大,不然要是出現(xiàn)新的兼容問題更不好定位原有問題
//查看 node版本
node -v
//查看 npm版本
npm -v
//查看 yarn版本
yarn -v
具體操作看這個(gè)鏈接,特別詳細(xì): nodejs與npm版本對應(yīng)關(guān)系以及使用nvm管理node版本以及降npm版本
5. 安裝本地私庫
這次錯(cuò)誤很多都是包安裝的問題,導(dǎo)致了折騰一周時(shí)間,主要是定位問題花了很久,所以可以的話可以嘗試搭建公司私庫,前提是項(xiàng)目比較重要,小項(xiàng)目就無所謂了,反正你也不維護(hù)。。。。。
鏈接: 分分鐘教會(huì)你搭建企業(yè)級(jí)的 npm 私有倉庫