発生している問題・エラーメッセージ
Error: Cannot use same file for input and output at Sharp.toFile (/node_modules/sharp/lib/output.js:66:11)
該当のソースコード
javascript
1 sorted_paths = [ "./imgs/a.png", "./imgs/b.png", "./imgs/c.png", "./imgs/d.png" ]; 2 3 for (let i = 0; i < maxLayer; i++) { 4 sharp.cache(false); 5 let filename = `./imgs/result/${img_name}${i}.png`; 6 let baseFile = filename; 7 if (i == 0) 8 baseFile = sorted_paths[0]; 9 sharp(baseFile).composite([{ input: sorted_paths[i + 1] }]).toFile(filename, 10 (err, info) => { if (err) throw err; }); 11 }
試したこと
この記事と同じ現象が起きています。このエラーはsharp側に合成素材をキャッシュとして保持しておくために発生しており、それを解決するのはsharp.cache(false)
だと書かれていました。それを書き加えましたが引き続きエラーが発生します。
なにか手がかりがありましたらご教示お願いします!
回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。