2016-05-05 2 views
2

Я пытаюсь запустить команду sass watch в новой ветви кода. когда я запускаю обычную команду, я получаю отказ от разрешений.Sass watch permissions denied - no compass

Errno::EACCES: Permission denied - /me/atg/workspace/AA/dev_3.4.0 

Вот моя команда:

sass --watch stores.scss:/me/atg/workspace/AA/dev_3.4.0/a_a/modules/estore/j2ee/AA.war/static/css/stores.css --style compressed 

Я побежал команду, используя Sudo, и это, кажется, бежать. Часы выбирают, что изменения были сделаны в файлах scss, но изменения не появляются после обновления, как это было ранее с помощью команды watch. Я должен перестроить и запустить сервер, чтобы изменения отображались на моем локальном сайте.

Я думаю, что это, возможно, проблема с кешем, но не уверен. Я не использую компас, и большинство решений, о которых я читал, похоже, связаны с компасом.

Ниже приведена трассировка при выполнении команды watch без использования sudo.

from /usr/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir' 
from /usr/lib/ruby/1.9.1/fileutils.rb:221:in `block (2 levels) in mkdir_p' 
from /usr/lib/ruby/1.9.1/fileutils.rb:219:in `reverse_each' 
from /usr/lib/ruby/1.9.1/fileutils.rb:219:in `block in mkdir_p' 
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in `each' 
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in `mkdir_p' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:478:in `update_stylesheet' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:209:in `each' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:209:in `update_stylesheets' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:293:in `watch' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin.rb:108:in `method_missing' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/sass_scss.rb:384:in `watch_or_update' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/sass_scss.rb:51:in `process_result' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/base.rb:52:in `parse' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/base.rb:19:in `parse!' 
from /var/lib/gems/1.9.1/gems/sass-3.4.16/bin/sass:13:in `<top (required)>' 
from /usr/local/bin/sass:23:in `load' 
from /usr/local/bin/sass:23:in `<main>' 

ответ

1

Для считывания данных Sass кэширует анализируемые документы для повторного использования, только при повторном анализе документов. По умолчанию Sass записывает эти кешированные файлы в :cache_location. Когда вы начинаете внезапно возникать проблемы с Sass, общим виновником является ваш .sass-cache. Возможно, вы обновили свою среду IDE, внесли некоторые изменения в структуру каталогов или, иногда, обновление ОС (OSX печально известна при разрешении головных болей). В любом случае, если Sass не сможет получить доступ к .sass-cache или что-то не синхронизировано, все может стать довольно волосатым с быстротой.

Предполагая, что из вашего описания, что вы просто работаете sass watch из командной строки, а не с помощью какого-то IDE компиляции инструмента, хорошее место, чтобы начать искать для вашего .sass-cache является ./tmp/sass-cache или ./.sass-cache вашего проекта, как подробно описано here. Имейте в виду, что файл обычно скрыт по умолчанию. Вы можете попробовать вручную удалить папку, а затем снова запустить команду sass watch. Если все пойдет хорошо, ваш .sass-cache должен полностью перестроить при следующем запуске sass watch, и вы должны снова работать.

Если вы случайно обновили свою ОС в последнее время, и вы используете OSX, похоже, что есть issue with Sass post-upgrade, который звучит так же, как вы описываете. Исправление, предлагаемое в комментариях, которые, кажется, решают проблему для всех, - это запустить sudo gem install -n /usr/local/bin sass.

Надеюсь, это поможет!

+0

Эй, @JustJen, я ценю вашу помощь. В последнее время я не обновил ОС. Я просто запускаю sass watch из командной строки. Я не вижу ни одного файла sass-cache во всем моем проекте:/ – EricBellDesigns

+0

@EricBellDesigns - вы тоже смотрите на свои скрытые файлы? 'Sass-cache' будет скрытым каталогом. – JustJen

+0

да я. Я вижу скрытые файлы, но не sass-cache. – EricBellDesigns