Nuxtjs站点在netflix中使用sass/scss +光纤时部署失败



每当我包含任何SCSS时,在netflix上的部署都会失败。如果我取出SCSS,它会很好地展开。本地运行良好。

你可以很容易地重新创建这个通过拉这里的回购https://github.com/jackcunningham/sasstest或者用新的下一个安装:javascript,npm,无框架,pwa,无检测,ssr,static,jsconfig.json,git

从那里安装sass与光纤按照下一个文档在这里https://nuxtjs.org/docs/configuration-glossary/configuration-css/

#npm install --save-dev sass sass-loader@10 fibers

您可以通过在页面/索引的底部添加一个scss块来测试。vue像

<style lang="scss" scoped>
.home {
h1 {
color: yellow;
}
}
</style>

这在本地运行良好,我也可以npm run buildgenerate

但是在netflix上使用npm run generate,它失败了

2:42:19 PM: ────────────────────────────────────────────────────────────────
2:42:19 PM:   "build.command" failed                                        
2:42:19 PM: ────────────────────────────────────────────────────────────────
2:42:19 PM: ​
2:42:19 PM:   Error message
2:42:19 PM:   Command failed with exit code 134: npm run generate
2:42:19 PM: ​
2:42:19 PM:   Error location
2:42:19 PM:   In Build command from Netlify app:
2:42:19 PM:   npm run generate
2:42:19 PM: ​
2:42:19 PM:   Resolved config
2:42:19 PM:   build:
2:42:19 PM:     command: npm run generate
2:42:19 PM:     commandOrigin: ui
2:42:19 PM:     publish: /opt/build/repo/dist
2:42:19 PM:     publishOrigin: ui
2:42:20 PM: Caching artifacts
...
2:42:20 PM: Finished saving go dependencies
2:42:20 PM: Build failed due to a user error: Build script returned non-zero exit code: 2
2:42:20 PM: Creating deploy upload records
2:42:20 PM: Failing build: Failed to build site
2:42:20 PM: Failed during stage 'building site': Build script returned non-zero exit code: 2
2:42:20 PM: Finished processing build request in 34.120681685s

更新:我的依赖项是这样的,我已经尝试降级包和节点版本来匹配以前的项目,工作得很好,但它没有效果,所以认为这是一个转移注意力,但这里它们是

"dependencies": {
"@nuxtjs/pwa": "^3.3.5",
"core-js": "3.8.3" //downgraded from "^3.15.1",
"nuxt": "2.14.12" //downgraded from "^2.15.7"
},
"devDependencies": {
"fibers": "^5.0.0",
"sass": "1.36.0" //downgraded from "^1.43.3",
"sass-loader": "10.1.1" //downgraded form "^10.2.0"
}

我还添加了以下内容来强制节点版本匹配@kissu版本(见注释),但认为这不是问题

"engines": {
"node": ">=14.15.0 <14.18.1"
}

Node的最新LTS是14.18.1, netflix至少支持v12.
我下载了您的项目,同时拥有v14.15.0,当我在package.json中删除engines时,它的工作完全正常。

如果我安装项目与您的特定版本12.18.0的节点,它仍然工作良好时托管在netflix(与engines未触及)。

另外,我不确定你为什么要使用一个超级特定版本的Node,也许可以在这里给出一个范围:https://itnext.io/node-engines-helping-developers-everywhere-avoid-phantom-bugs-2eef519604b2

到目前为止,我这边一切都很好。问题可能在别的地方。

最新更新