Rails预编译资产未检测到Yarn可执行文件

时间:2017-08-03 13:56:17

标签: 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

我从互联网搜索中读到的一切都说纱线和webpacker附带Rails 5.1。我从检查rails版本中得到以下内容。

$rails --version
Rails 5.1.0

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

3 个答案:

答案 0 :(得分:4)

Rails 5.1附带支持纱线和网页包装,但您需要自己安装。 Yarn是一个包管理器,webpack就是一个包。

按照https://yarnpkg.com/lang/en/docs/install/的说明在您的系统中安装Yarn,然后将webpack添加到您的项目中,如:

yarn add --dev webpack webpack-dev-server

此外,您看到的消息是警告,而不是直接错误。如果您不需要使用任何花哨的js包,您可以使用良好的'资产管道

答案 1 :(得分:2)

如果您不使用yarn / webpacker避免出现日志消息,则可以从App目录中删除bin / yarn。

答案 2 :(得分:0)

如果您试图在Heroku上使用Yarn部署Rails 5.2项目,建议您查看Buildpacks订单。

要使其在这里工作,我需要将heroku / NodeJS放在heroku / Ruby之前。

enter image description here