2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsをherokuにデプロイする際にyarn installがstatus127で失敗してPrecompiling assets failedする場合の対処法

Posted at

(ささいな問題ですが、日本語でも英語でもエラーメッセージから検索しても原因がすぐわからなかったのでメモを共有しておきます)

現象

環境

動作実施日 2018/11/1
Ruby on Rails 5.1
Ruby 2.4.1
yarn 1.7.0
node 9.11.1
Heroku
(バージョンをアップデートできていないのはご容赦ください、、)

開発しているRailsアプリをHerokuにデプロイするためにgit push heroku masterすると、エラーが出ました。

デプロイ時のログ抜粋
remote: -----> Installing node-v8.10.0-linux-x64
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        yarn install
remote:        rake aborted!
remote:        Command failed with status (127): [yarn install...]
remote:        /tmp/build_85d6f255f087d15f0a493571234f5109/lib/tasks/yarn.rake:3:in `block in <top (required)>'
remote:        /tmp/build_85d6f255f087d15f0a493571234f5109/vendor/bundle/ruby/2.4.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
remote:        Tasks: TOP => assets:precompile => js_deps_install
remote:        (See full trace by running task with --trace)
remote:
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
(以下略)

yarnまわりのようですが、package.jsonのenginesも正しく記載できています。

参考)
https://qiita.com/taaatk/items/25fa2c969d033ffc8a12

対策

エラーコード127はだいたいの場合、ファイルが見つからないことです。
というわけで調べてみると

heroku buildpacks

実行結果
1. heroku/ruby
2. heroku/nodejs

この順番が変なようです。入れ替えるために、いちどbuildpacksをremoveしてaddしなおしましょう。

heroku buildpacks:remove heroku/ruby
heroku buildpacks:add heroku/ruby
実行結果
1. heroku/nodejs
2. heroku/ruby

これで問題なくデプロイできるようになりました。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?