我正在尝试运行Grunt Compass任务并且它一直在失败:
Errno :: EACCES on the line [" 250"] of /opt/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:权限被拒绝 @ dir_s_mkdir - / stylesheets
我的任务是:
compass: {
dev: {
options: {
require: ['susy', 'breakpoint'],
sassDir: '<%= paths.srcAssets %>/stylesheets',
cssDir: '<%= paths.build %>/stylesheets',
generatedImagesDir: '<%= paths.build %>/images',
imagesDir: '<%= paths.srcAssets %>/images',
javascriptsDir: '<%= paths.srcAssets %>/javascripts',
fontsDir: '<%= paths.srcAssets %>/fonts',
// importPath: ['<%= paths.vendor %>/components'],
httpImagesPath: '/assets/images',
httpGeneratedImagesPath: '/assets/images',
httpFontsPath: '/assets/fonts',
sourcemap: true,
relativeAssets: false,
noLineComments: true,
outputStyle: 'compressed',
raw: 'preferred_syntax = :sass\n',
environment: 'development',
bundleExec: true,
app: 'stand_alone',
debugInfo: true,
quiet: false,
trace: true
}
}
},
我认为它失败了,因为它没有正确的权限来创建样式表&#39; 。目录
这让我有两种困惑:
我还有另一个成功创建图像的艰巨任务。 Compass尝试放置&#39;样式表&#39;的目录位于同一位置。之一。
我在Vagrant虚拟机中运行它,因此不确定父文件夹的权限应该是什么。
关于如何解决它的任何想法?
尼尔
答案 0 :(得分:3)
问题是罗盘试图在你系统的stylesheets
创建/
目录,这显然是被禁止的。
此问题是由您在compass
和cssDir
选项的imageDir
任务中引用的路径引起的:
cssDir: '<%= paths.build %>/stylesheets'
在paths
配置对象中,没有build
属性,但肯定是buildAssets
属性,因此<%= paths.build %>
将替换为null并解释您的错误。
所以,只需更换出现的东西就可以了。