0

今日、私はこれと戦っています:

mkdir': Permission denied @ dir_s_mkdir - /app/assets/stylesheets/material_ui (Errno::EACCES)

独自の Rails Composer ジェネレーターを作成しています。私が欲しいのは、レポからいくつかのファイルを複製し、呼び出し時に生成しているアプリ内にそれらを配置することですrails new etc etc...。ジェネレーターはうまく機能し (多くのファイルを複製し、大きなフォント フォルダーを解凍します!)、1 つを除いてすべてのレシピが機能します。

これには(とりわけ)この行が含まれています

empty_directory '/app/assets/stylesheets/material_ui'

この Thor アクションは、「許可が拒否されました」と言って失敗します。

もちろん、rails newコマンドを起動するまでフォルダーがないため、以前は何もCHMODできませんでした。

Thorを使用してRails Composerレシピでディレクトリを作成するにはどうすればよいですか?

4

2 に答える 2

2

ディレクトリが存在しない可能性があります。次の違いを覚えておいてください。

empty_directory 'app/assets/stylesheets/material_ui'
empty directory '/app/assets/stylesheets/material_ui'
于 2016-07-29T11:14:26.720 に答える
0

私は解決策を見つけました。ばかげているだけですが、他の人がこの間違いにつまずいているのを見つけたので、ドキュメントとして自分の質問に答えます。

失敗はパスにあります。

empty_directory '/app/assets/stylesheets/material_ui'

は同じではありません

empty_directory 'app/assets/stylesheets/material_ui'

2 つ目は、生成されたアプリケーションの絶対パスであるため、正しいものです。

最初のものは、最初/はレシピ実行ポイントのサブフォルダーとして解釈され、存在しないため、アクセス許可エラーが発生します。

于 2016-07-29T11:18:13.970 に答える