#ruby #wordpress #gruntjs #compass-sass #grunt-contrib-compass
#ruby #wordpress #gruntjs #compass-sass #grunt-contrib-compass
Вопрос:
Я пытаюсь воспользоваться советом великого Дэвида Херерры о том, как использовать grunt-contrib-compass
родительские и дочерние темы WordPress. Вы можете найти его руководство здесь:https://gist.github.com/dlh01/5726683
Но на мой вопрос: у меня есть 2 проекта (родительская тема и дочерняя тема) с 2 разными importPath
s. Мой gruntfile.js
для них обоих находится в корне моего веб-проекта. Я получаю следующую ошибку:
Ничего не компилировать. Если вы пытаетесь запустить новый проект, вы не указали аргумент directory.
Я не совсем уверен, что означает ошибка — в документации плагина нет «аргумента каталога». Хотя я уверен, что я, должно быть, упускаю что-то очевидное. 🙂 Вот соответствующая часть моего gruntfile.js
:
compass: {
options: {
// Directories
sassDir: 'sass/dev/',
imagesDir: 'img/public/',
javascriptsDir: 'js/public/',
fontsDir: 'font/',
// Options
environment: 'development',
outputStyle: 'expanded',
//relativeAssets: true
},
parent: {
options: {
importPath: 'web/app/themes/wpgrouse-theme-parent/assets/sass-parent/dev/',
httpPath: 'web/app/themes/wpgrouse-theme-parent/assets/',
cssDir: '/'
}
},
child: {
options: {
importPath: 'web/app/themes/wpgrouse-theme-parent/assets/sass/dev/',
httpPath: 'web/app/themes/lifeforce/assets/',
cssDir: '/'
}
}
},
Я пробовал различные решения «voodoo», но ни одно из них не работает. После некоторого перебора аргументов я даже получил это:
Ошибка выполнения в строке 52 /System /Library /Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/tempfile.rb: не удается сгенерировать временный файл `/style.css20140702-6925-1cg6d1c-9′
Можете ли вы пролить немного света на то, что я делаю неправильно? Спасибо. Быстрый ответ был бы очень признателен, так как я сильно отстаю от своего крайнего срока, и это очень расстраивает. 🙂
Спасибо, P!
Редактировать
Также, вероятно, полезно добавить, что когда я работал с одним проектом, все шло нормально, поэтому, должно быть, проблема с частью «конфигурация 2 проектов», которую я gruntfile.js
разместил здесь.
Редактировать 2
Если я укажу basePath
аргумент в каждом проекте ( parent
и child
), указывающий на тот же каталог, что и httpPath
аргумент, я получаю ранее упомянутую ошибку о временном файле. Помогает ли это?
Комментарии:
1. что, если эта строка является строкой 52?
2. Ошибка выполнения после моих «voodoo sollutions» не указывает ни на какие файлы, с которыми я возился, поэтому я действительно не знаю. Из-за этого я не думаю, что это связано с реальной проблемой.
3. @DanielSchmidt, пожалуйста, посмотрите мою правку.
Ответ №1:
При запуске ‘grunt watch’ и попытке принудительной компиляции моего sass я также получал ошибку:
не удается сгенерировать временный файл `./.sass-cache/…»
Оказалось, что это проблема с моими настройками разрешений на сервере. У меня не было разрешения на запись в папку .sass-cache. Все, что мне нужно было сделать, это запустить
sudo chmod -R 777 .sass-cache/
и ошибка исчезла!