Rails sprocket Ошибка компиляции CSS-ассемблера - проблема CHOWN - PullRequest
6 голосов
/ 26 сентября 2011

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

У меня работает Snow leopard (хост)и VMware fusion под управлением Ubuntu Lucid server (гостевая ОС).Каким-то образом после долгих попыток мне удалось разделить рабочее пространство от Mac до Ubuntu.Итак, по сути, я смог изолировать свою среду разработки на виртуальной машине, что позволяет всей команде разработчиков находиться в одной среде независимо от их операционной системы / настроек и т. Д. Хотя, безусловно, все упростилосьЯ застрял с конкретной проблемой, возникающей из-за звездочек (я думаю).Каждый раз, когда я изменяю свои таблицы стилей и перезагружаюсь, я получаю эту ошибку:

Error compiling CSS asset

Errno::EPERM: Operation not permitted - /mnt/hgfs/banjarey/tmp/cache/assets/DCF/780/sprockets%2F5f78b3457def1d02bd3fb75d4e0cfb63

/home/coderboy/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0/lib/active_support/core_ext/file/atomic.rb:38:in `chown'

Самое странное, что если я перезагружаю страницу дважды или трижды, css компилируется и все работает нормально.

Это позор - перезагружать страницу дважды или трижды за каждое изменение css, которое я делаю.Я немного поигрался с членством и разрешениями, но я был любителем, я не рискнул достаточно глубоко, я думаю.

Любые идеи, люди ??

Ответы [ 4 ]

2 голосов
/ 18 октября 2012

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

Например:

PassengerDefaultUser www-data

Это сработало для меня. Поскольку Passenger создавал файлы, доступные только для чтения никем, странно то, что если вы просто несколько раз обновляете его, как-то получается, но если убедиться, что они одинаковые, то пользователь останавливает эту ошибку.

2 голосов
/ 17 октября 2011

У меня такая же проблема.мое решение состоит в том, чтобы изменить разрешение на доступ к файлам после прекомпиляции ресурсов:

#chown apache.root yourapp -R
#chmod 755 yourapp -R
1 голос
/ 27 июня 2013

Я столкнулся с той же ошибкой, но в разработке! Решено после очистки и перекомпиляции активов:

 rake assets:clean && rake assets:precompile
0 голосов
/ 21 апреля 2014

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

mv public/assets /tmp
ln -s /tmp/assets public/assets
...