如何解决在 Rails 上部署到 Heroku 失败,从 6.0 升级到 6.1 - SassC::SyntaxError:错误:找不到要导入的文件或无法读取
我最近升级到了最新的 rails。从 6.0.3.4 升级到 6.1.3.1。
在升级之前,开发和生产/Heroku 中的一切都运行良好。现在在开发(本地机器)中一切正常,但在 Heroku 上的 rails assets:precompile
步骤失败并显示以下错误消息:
remote: -----> Installing node-v12.16.2-linux-x64
remote: -----> Installing yarn-v1.22.4
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: rake aborted!
remote: SassC::SyntaxError: Error: File to import not found or unreadable: bootstrap/scss/bootstrap.
remote: on line 21:1 of app/assets/stylesheets/application.scss
remote: >> @import "bootstrap/scss/bootstrap";
我的理解是标准功能是先查找本地相关文件,然后是 node_modules 文件夹。
我的问题是什么?
解决方法
可能是 node_module
下的文件,但找不到它
尝试指定 @import "node_modules/bootstrap/scss/bootstrap";
我不确定我是否遗漏了什么,但是除了 ruby buildpack 之外,我还需要将 NodeJS buildpack 添加到 Heroku。现在 Heroku 在构建 rails 应用程序之前运行 yarn install,它必须创建 node_modules 文件夹。因此,在 rails 构建期间失败的步骤现在可以在 node_modules 中找到 bootstrap 文件夹。
我唯一能想到的改变是从 Rails 6.0 升级到 6.1。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。