繁体   English   中英

在Rails作曲家自定义配方中从回购中克隆时,Thor empty_directory命令会引发“权限被拒绝”

[英]Thor empty_directory command raises 'permission denied' when cloning from repo in rails composer custom recipe

今天,我正在与这个斗争:

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

我正在创建自己的Rails作曲器生成器。 我想要的是从我的仓库中克隆一些文件,并将它们放入我将其称为rails new etc etc...时正在生成的应用程序中。 该生成器运行良好(它克隆了许多文件,甚至解压缩了一个大字体文件夹!),除一个之外,所有食谱都可以正常工作。

此行(除其他外)包含此行

empty_directory '/app/assets/stylesheets/material_ui'

雷神(Thor)行动失败,说“权限被拒绝”。

当然,我以前不能更改任何内容,因为在启动rails new命令之前没有任何文件夹。

如何使用Thor在Rails作曲家的菜谱中创建目录?

该目录可能不存在。 记住以下两者之间的区别:

empty_directory 'app/assets/stylesheets/material_ui'
empty directory '/app/assets/stylesheets/material_ui'

我找到了解决方案。 简直就是愚蠢,但是当我发现其他人为这个错误而绊脚石时,我将以文档的形式回答我自己的问题。

失败就在眼前。

empty_directory '/app/assets/stylesheets/material_ui'

与...不同

empty_directory 'app/assets/stylesheets/material_ui'

第二个是正确的,因为它是生成的应用程序的绝对路径

第一个以/开头,被解释为配方执行点的子文件夹,并且由于不存在,因此引发权限错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM