Я пытаюсь запустить виртуальный сервер с помощью Vagrant и VirtualBox. Для VirtualBox я использую scotch/box
в котором есть все основные вещи для запуска сервера ubuntu с некоторыми компонентами (apache, mysql, php и т. д.), больше на scotchbox можно найти Вот.
Теперь у меня есть сервер и работает (запущено приложение Yii2), но как только приложение запускается, я получаю сообщение об ошибке Yii sh: 1: sass: not found
и из-за этого файл SASS нельзя было преобразовать в CSS. Поэтому я вернулся на свой сервер, чтобы проверить, установлен ли sass, это не так, я выполнил команду gem install sass
и после этого был установлен sass. gem list sass -i
вернул истину.
Но проблема осталась, дерзости найти не удалось. Я вернулся к своей консоли, и, конечно же, apache запускается пользователем www-data, и я вошел в ssh с помощью бродячего пользователя. И это становится для меня немного расплывчатым. В переменных среды службы apache я добавил пути как к рубину, так и к драгоценным камням. Но все же пользователь www-data не может найти команду sass, команду gem или даже команду ruby.
Я также попытался сменить владельца службы apache с www-data на пользователя-бродягу, но это вроде как помогло, но это не то решение, которое я хочу принять. Мне нужно решение, в котором служба apache остается принадлежащей пользователю www-data, а не пользователю root, например vagrant.
Если нужно добавить больше данных, дайте мне знать.
Как вы запускаете приложение Yii? Похоже, вы запускаете его из командной строки. Какой бы пользователь вы ни использовали для запуска, он не видит приложение sass на своем пути. У вас есть несколько вариантов.
which sass
Не могли бы вы вставить команду, которую вы выполняете при возникновении этой ошибки? Если ты бежишь which sass
После сбоя Yii вы видите результаты для местоположения скрипта? Можете ли вы подтвердить, что пытаетесь запустить это вручную, или если вы попадаете на страницу через apache (в этот момент в игру вступает пользователь www-data).