[英]The default project created by preact-cli "^3.4.2" doesn't run
我正在嘗試啟動一個 preact 項目。 但是 preact-cli 創建的默認模板不會運行。 這是我所做的:
npx preact-cli create default my-project
cd my-project
npm install # this is not necessary I think
npm run dev
這會導致錯誤消息:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
一些版本:
操作系統:
Distributor ID: Pop
Description: Pop!_OS 22.04 LTS
Release: 22.04
Codename: jammy
Stackblitz 上的在線版本:
為了讓問題更容易回答,我在 Stackblitz 上創建了一個在線示例: https://stackblitz.com/edit/node-zby5qu?file=src%2Findex.js
這行得通!
作為解決我的問題的第一次嘗試,我將 package-lock.json 文件從 stackblitz 復制到我的本地機器並重新安裝依賴項。 但問題仍然存在。
所以這似乎與我的本地機器有關。
相關問題:
這個問題建議切換到 Node 版本 16: 錯誤:錯誤:0308010C:數字信封例程::在新的 Hash(節點:內部/加密/哈希:71:19)不受支持,這個問題https://github.com/matiasdelellis /facerecognition/issues/613說反應腳本的過時版本可能會導致問題。
現在 Node 18.13 是 LTS 版本,我不想降級到 16。據我所知,我有最新版本的 preact-cli。 從我的包鎖文件:
"node_modules/preact-cli": {
"version": "3.4.4",
"resolved": "https://registry.npmjs.org/preact-cli/-/preact-cli-3.4.4.tgz",
最新版本已於3天前發布: https://www.npmjs.com/package/preact-cli?activeTab=readme
從preact-cli
的倉庫中復制我的答案:
Preact-CLI v3 建立在 Webpack v4 之上,它不支持開箱即用的較新版本的 Node。 Node 的重大變化導致了很多生態系統問題。
但是,您不需要降級; 相反,您可以設置NODE_OPTIONS=--openssl-legacy-provider
。 如果您使用的是非 Windows 系統,可以通過對package.json
進行以下更改來完成:
{
"scripts": {
"dev": "NODE_OPTIONS=--openssl-legacy-provider preact watch"
"build": "NODE_OPTIONS=--openssl-legacy-provider preact build"
}
}
我們確實為 CLI 發布了預發布版,可作為4.0.0-next.1
。 如果您想使用它,我建議使用以下內容初始化一個新項目:
$ [npm init / yarn create] preact-cli default my-project
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.