未检测到 Rails 预编译资产 Yarn 可执行文件
Posted
技术标签:
【中文标题】未检测到 Rails 预编译资产 Yarn 可执行文件【英文标题】:Rails precompile assets Yarn executable was not detected 【发布时间】:2018-01-11 04:27:34 【问题描述】:我有一个从 Rails 5.0 转换为 Rails 5.1.0 的 Rails 项目。当我尝试预编译资产时,我收到以下错误消息:
Yarn executable was not detected in the system.
Download Yarn at https://yarnpkg.com/en/docs/install
我从互联网搜索中读到的所有内容都说 yarn 和 webpacker 是 Rails 5.1 自带的。我从检查 rails 版本中得到以下信息。
$rails --version
Rails 5.1.0
我该如何解决这个问题?我也想知道发生了什么。
【问题讨论】:
你安装了webpacker和yarn吗? 【参考方案1】:如果您尝试在 Heroku 使用 Yarn 部署 Rails 5.2 项目,我建议您查看 Buildpacks 订单。
为了让它在这里工作,我需要将 heroku/NodeJS 放在 heroku/Ruby 之前。
【讨论】:
【参考方案2】:如果您不使用 yarn/webpacker 来避免日志消息,您可以从 App 目录中删除 bin/yarn。
【讨论】:
【参考方案3】:Rails 5.1 附带了对 yarn 和 webpack 的支持,但您需要自己安装它们。 Yarn 是包管理器,webpack 是包。
按照https://yarnpkg.com/lang/en/docs/install/ 的说明在您的系统中安装 Yarn,然后将 webpack 添加到您的项目中,例如:
yarn add --dev webpack webpack-dev-server
此外,您看到的消息是警告,而不是直接错误。如果你不需要使用任何花哨的 js 包,你可以使用好的 ol' 资产管道
【讨论】:
我没有看到文件被输出了。我刚刚删除了 public/assets/* 并创建了新文件。在我清空目录之前,我没有收到任何消息表明它输出了已编译的资产文件。这只是一个警告是我需要的关键信息。谢谢。 @FabrizioBertoglioyarn -V
的输出是什么?你的系统是什么?
@TomD 非常感谢。这是我的问题的解决方案***.com/questions/45498313/…
使用 rails 5.1,必须使用 yarn 和 webpack?!
Rails 5.1 应该依赖 yarn 似乎是不对的——至少在它抱怨缺少它的程度上——但不为其添加依赖项。至少应该清楚的是,安装 yarn 不是必需的。以上是关于未检测到 Rails 预编译资产 Yarn 可执行文件的主要内容,如果未能解决你的问题,请参考以下文章