Sprockets::ArgumentError at / link_tree argument must be a directory
初めに
今回は上記の写真のエラーについて、解説をしていこうと思います。
他の人のリポジトリから、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の一つ上の階層をみてみると
このようなファイル構成になっており、link_treeで指定されていたimagesのフォルダがないように見えます。ここで、imagesのフォルダが消えてしまっていることに気づきます。
そのため今回の原因としては、assets配下にimagesのフォルダがないことが原因でした。
解決方法
imagesnのフォルダを作成してあげれば解決とのことなので、imagesのフォルダを作成してあげましょう。
## assetsの配下にimagesのフォルダを作成したいので移動する
$ cd app/assets
## フォルダを作成する
$ mkdir images
## gitで管理するために、imagesフォルダの中に.keepのファイルを作成する
$ cd images
$ touch .keep
最後に
なかなかお目にかかれないエラーになるかと思いますので、このエラー記事を参考記事にされる方は多くないと思いますが、もし一人でもこのエラー記事が参考になれば幸いです。
Author And Source
この問題について(Sprockets::ArgumentError at / link_tree argument must be a directory), 我々は、より多くの情報をここで見つけました https://qiita.com/Hbk__17/items/3f096b47d9aba1f4d145著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .