目前,我在使用Gulp编译Sass时遇到了两个问题。首先,我在“/library/ruby/gems”目录中设置了777个权限,以释放一些权限错误。我现在每次运行Gulp时都会收到一个警告,说明如下:
gulp-ruby-sass: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:213: warning: Insecure world writable dir /Library/Ruby/Gems/2.0.0 in PATH, mode 040777
其次,当Gulp运行到我的主SCSS文件中的一些“@import”声明中时,Sass编译方面的事情似乎停止了。即,我得到以下错误:
gulp-ruby-sass: error ./screen.scss (Line 4: File to import not found or unreadable: normalize.
Load paths:
/private/var/folders/cq/_pg4s6qn59q1q5fyy5681rd00000gn/T/gulp-ruby-sass/bower_components/compass-breakpoint/stylesheets
/private/var/folders/cq/_pg4s6qn59q1q5fyy5681rd00000gn/T/gulp-ruby-sass/bower_components/susy/sass
/private/var/folders/cq/_pg4s6qn59q1q5fyy5681rd00000gn/T/gulp-ruby-sass/bower_components/normalize-scss
/private/var/folders/cq/_pg4s6qn59q1q5fyy5681rd00000gn/T/gulp-ruby-sass)
这些加载路径看起来不正确。。。。。。我已经通过Bower专门为这个项目安装了这些组件,所以似乎我需要告诉gulp/npm查看我的项目文件夹。
任何帮助都将不胜感激!
看起来这个问题只是我在自言自语,但我还是会与世界分享我的发现。
事实证明,这是gulp-ruby-sass包的一个已知问题。见:https://github.com/sindresorhus/gulp-ruby-sass/pull/80@issuecomment-49531932
在我的gulpfile中的“loadpath”选项中指定的路径与gulpfile在我所处理的项目中的位置不相关,因此它最终在一个文件夹中寻找一些它不应该有的Bower组件,例如:
/private/var/folders/cq/_pg4s6qn59q1q5fyy5681rd00000gn/T/gulp-ruby-sass/bower_components/compass-breakpoint/stylesheets
我发现,通过将process.cwd()前置到我的每个文件路径,它们将成为相对的。
如果您看一下我在上面添加的几行GitHub链接,您会注意到这只是一个临时解决方案,直到这个修复程序实现到gulp-ruby-sass的主分支中,所以在不久的将来,这个建议将变得无关紧要。
希望这能帮助任何一个处于类似困惑境地的人。
*编辑*
关于gulp-ruby-sass的权限警告,我只需要运行