Ruby on rails 未检测到Rails预编译资产和可执行文件

Ruby on rails 未检测到Rails预编译资产和可执行文件,ruby-on-rails,ruby-on-rails-5,asset-pipeline,yarnpkg,Ruby On Rails,Ruby On Rails 5,Asset Pipeline,Yarnpkg,我有一个Rails项目,我们将其从Rails 5.0转换为Rails 5.1.0。当我尝试预编译资产时,会收到以下错误消息: Yarn executable was not detected in the system. Download Yarn at https://yarnpkg.com/en/docs/install 我从互联网搜索中读到的所有信息都说,Thread和webpacker都配有Rails 5.1。我从检查rails版本中获得以下信息 $rails --version Ra

我有一个Rails项目,我们将其从Rails 5.0转换为Rails 5.1.0。当我尝试预编译资产时,会收到以下错误消息:

Yarn executable was not detected in the system.
Download Yarn at https://yarnpkg.com/en/docs/install
我从互联网搜索中读到的所有信息都说,Thread和webpacker都配有Rails 5.1。我从检查rails版本中获得以下信息

$rails --version
Rails 5.1.0

我该如何解决这个问题?我还想知道发生了什么。

Rails 5.1提供了对Thread和webpack的支持,但您需要自己安装它们。 纱线是一个包管理器,而网页包是一个包

按照中的说明在系统中安装Thread,然后将网页包添加到项目中,如:

yarn add --dev webpack webpack-dev-server

此外,您看到的信息是警告,而不是直接的错误。如果您不需要使用任何花哨的js软件包,您可以使用良好的ol'asset pipeline

如果您不使用Thread/webpacker来避免日志消息,您可以从应用程序目录中删除bin/Thread。

如果您试图在Heroku部署一个带有Thread的Rails 5.2项目,我建议您查看Buildpacks订单

为了让它在这里工作,我需要将heroku/NodeJS放在heroku/Ruby之前


您是否安装了webpacker和Thread?我没有看到文件被输出。我刚刚删除了public/assets/*并创建了新文件。在清空目录之前,我没有收到它输出编译的资产文件的消息。这只是一个警告,这是我需要的关键信息。谢谢。@FabrizioBertoglio纱线-V的输出是什么?你的系统是什么?@TomD非常感谢。这就是我的rails 5.1问题的解决方案,使用纱线和网页包是有义务的?!Rails 5.1应该依赖于Thread(至少在它抱怨缺少它的程度上)但不为它添加依赖性,这似乎是不对的。至少应该清楚,安装纱线不是一项要求。