最近在幫一個服務四個國家的技訓機構寫外場app(教師&學員各有不同的頁面) .裡面會有製表呈現單元.
在現場執行時,下載pdf的時候出現這樣的錯誤
-------------------------
This can occur if either
1. you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or
2. your cache path is incorrectly configured
(which is: C:\\Users\\Administrator\\.cache\\puppeteer).
For (2), check out our guide on configuring puppeteer
at https://pptr.dev/guides/configuration.","timestamp":"......." }
-------------------------
如果是以前的我會認為是client device問題 (畢竟上面有chrome字樣)
不過因為本案雖然是用AI輔助開發,但都是全程以問答討論的方式進行,所以會知道是套件的問題
(雖然這樣看起來不夠厲害,但總比事後才整個去做code review 的無力、不知道怎麼改、整包打回去給AI重做來得省錢踏實--知道怎麼解決這些症狀的先進麻煩教一下,鞭小力一點)
「可是明明有做npm install了啊,怎麼會有這現象」
「npm install有時會有下載失敗的錯誤只是我們沒看到」
這時要手動強制下載安裝了,沒那麼可怕,只是需要一行指令罷了
--------------------
npx puppeteer browsers install chrome
--------------------
「可是這樣只會安裝在我的目錄(C:\\Users\\MyAccount\\.cache\\puppeteer)中,log說是要放在Administrator中,如何突破這個限制?」
你問得好,接下來這招不錯哦--
1.安裝套件指定位置並安裝之:
-----------------------------
set PUPPETEER_CACHE_DIR=D:\puppeteer-cache
npx puppeteer browsers install chrome
--------------------
2.在ecosystem.config.js設定它 (當然要先切換到你git pull出來& build出來的目錄裡)
-------------------
PUPPETEER_CACHE_DIR: 'D:\\puppeteer-cache'
--------------------
3.別忘了pm2需重啟載入執行
--------------------
pm2 delete xxxxx(你的application name)
pm2 restart ecosystem.config.js
pm2 save
--------------------
確認pm2 有把你的app執行起來就可以了
「那....我想再問一下,怎麼知道設定有吃進去」
很好,在AI時代,gen code不是問題,問題是驗證--不能驗證的事就不要去做
如何驗證上述的「PUPPETEER_CACHE_DIR」有載入,只要一個執令
--------------
pm2 env 你的number (1、2、3.....)
--------------
這時你的console就會列出pm2所載入的資料
----------------
以上,一起加油吧
沒有留言:
張貼留言