紅寶石 2.7.4 導軌 6.1.4.1
注:在package.json將engines密鑰丟失在我的應用程式
Heroku 在構建程序中失敗并出現此錯誤
這個提交是在我昨天成功推送的 SHA 之上的一個空提交(我現在已經檢查了兩次)所以我懷疑這是一個平臺問題,或者 node-sass 昨天以某種方式被棄用或猛拉?
我怎樣才能解決這個問題?
remote:
remote: ERROR in ./app/javascript/require_bootstrap.scss
remote: Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
remote: ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
**remote: Error: Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime (93)**
remote: For more information on which environments are supported please see:
remote: https://github.com/sass/node-sass/releases/tag/v4.14.1
remote: at module.exports (/tmp/build_1c436dcf/node_modules/node-sass/lib/binding.js:13:13)
remote: at Object.<anonymous> (/tmp/build_1c436dcf/node_modules/node-sass/lib/index.js:14:35)
remote: at Module._compile (/tmp/build_1c436dcf/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
remote: at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
uj5u.com熱心網友回復:
根據 Heroku 在 2021 年 12 月將默認節點從 14 切換到 16(參見https://devcenter.heroku.com/changelog-items/2306)。
對于受影響的應用程式,基礎heroku/rubybuildpack 將 Node 版本從 Node 14 更新到 Node 16,這與我們使用的 Webpack 版本中鎖定的 Node Sass 版本不兼容。
要修復它,我需要做兩件事:
- 中指定 14.x 節點版本
package.json。
# In package.json
{
# ...
"engines": {
"node": "14.x"
},
# ...
}
- 添加
heroku/nodejsbuildpack之前的heroku/rubybuildpack。您可以在 Web 界面或命令列中執行此操作。這是 CLI 的命令:
$ heroku buildpacks:add heroku/nodejs -i 1 -a YOUR-APP-NAME
首先運行 NodeJS buildpack,它會查看package.json檔案并在選擇要安裝的 Node 版本時尊重該檔案。然后 Ruby buildpack 將運行,因為一個版本的 Node 已經存在,它只會使用它,一切都應該像以前一樣作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/384602.html
下一篇:為API連接設定條件屬性
