LoginSignup
7
1

More than 1 year has passed since last update.

Sprockets::ArgumentError at / link_tree argument must be a directory

Posted at

image.png

初めに

今回は上記の写真のエラーについて、解説をしていこうと思います。
他の人のリポジトリから、railsのプロジェクトを引っ張ってきた際に出てきたエラーになります。

原因

まずSporoketsに対してエラーが吐かれているので、画像の読み込みらへんでエラーが吐かれているのかなと推測しました。そこで、rails assets:precompileを実行しエラーを確認しました。
そこで出力されたのが、Sprockets::ArgumentError: link_tree argument must be a directory /Users/hibiki/Desktop/Submission2-bookers_app/app/assets/config/manifest.js:1 Tasks: TOP => assets:precompile (See full trace by running task with --trace)という内容のエラーが出力されました。
そこで、manifest.jsを確認してみると

## manifest.js

//= link_tree ../images
//= link_directory ../stylesheets .css

このように記述されており、このコンパイルした際にこの一行目に対してエラーが吐かれていたので、みてみると../imagesでimagesのフォルダを探しているのがわかります。
そこで、manifest.jsの一つ上の階層をみてみると
image.png
このようなファイル構成になっており、link_treeで指定されていたimagesのフォルダがないように見えます。ここで、imagesのフォルダが消えてしまっていることに気づきます。
そのため今回の原因としては、assets配下にimagesのフォルダがないことが原因でした。

解決方法

imagesnのフォルダを作成してあげれば解決とのことなので、imagesのフォルダを作成してあげましょう。

## assetsの配下にimagesのフォルダを作成したいので移動する
$ cd app/assets

## フォルダを作成する
$ mkdir images

## gitで管理するために、imagesフォルダの中に.keepのファイルを作成する
$ cd images
$ touch .keep

最後に

なかなかお目にかかれないエラーになるかと思いますので、このエラー記事を参考記事にされる方は多くないと思いますが、もし一人でもこのエラー記事が参考になれば幸いです。

7
1
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
7
1