• Problem mit Compass/Ruby/Codekit - Frage an die "Nerds" :-)

    Hi,

    ich arbeite mit Coda und Codekit in SASS/Compass Projekten und bis dato ging folgender Workflow.

    Ich mounte mit Transmit ein Projekt von Remote auf meinen Rechner und passe die config.rb (Output Path) css_dir so an, dass der Compass Compiler die styles.css in das gemountete Volume compiliert.
    Ich muss die Datei somit nicht mehr gesondert hochladen, sondern kann das Ergebnis nach einem Reload im Browsers sehen.

    Nach einem Rechnerwechsel (von iMac i7 2009 auf eine iMac Retina, der vor ein paar Tagen nun auch von Apple getauscht wurde) und einer TimaMachine- Wiederherstellung gibt es eine Fehlermeldung:

    Errno::EACCES on line ["245"] of /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb: Permission denied - /Users/...........................................
    Run with --trace to see the full backtrace


    Ich versuche nun schon seit Tagen eine Lösung zu finden, bin aber jetzt mit meinem Latein am Ende, ich will nicht alles aufschreiben was ich versucht habe, um einem möglichen Lösungsansatz den ich vielleicht nicht zu Ende gedacht habe auszuschließen.

    Auf einem anderen Rechner funktioniert es mit der alten Konfiguration ohne Probleme.

    Zu Zeile 245: Dir.mkdir path

    Habt Ihr eine Idee oder einen Ansatz wie ich das Problem angehen kann?
    • EACCES heißt fehlende Schreibrechte für das Verzeichnis in welches gespeichert werden soll, oder …

      … fehlendes Ausführenrecht für einen Teil des Pfades – sprich fehlendes "w" oder fehlendes "x" in der Verzeichnishierarchie.

      Aus der man-page [apple.com]:
      » ERRORS
      » Mkdir() will fail and no directory will be created if:
      »
      » [EACCES] Search permission is denied for a component of the
      » path prefix.
      »
      » [EACCES] Write permission is denied for the parent directory.
      • EACCES heißt fehlende Schreibrechte für das Verzeichnis in welches gespeichert werden soll, oder …

        Ich habe der Datei fileutils.rb dem gemountetem Verzeichnis und den Unterordnern schon 777 gegeben, aber wie befürchtet ohne Erfolg, der Datei auch den User/Admin/gegeben stand vorher auf root, auch erfolglos, was echt verwirrend ist auf einem anderen Rechner läuft es problemlos, habe die Ruby-version upgedadet ob es aber auch die ist die nun compiled kann ich nicht genau sagen, weil es immer n och der Ordner 2.0.0 ist und die version auf die upgedatet wurde nun 2.2.1 ist, im Netz finde ich auch nur Hinweise und Empfehlungen Ruby upzudaten.
        Hast Du einen Ansatz mkdir das entsprechnede Recht zu geben in den Ordner zu schreiben?
        • Passiert das auch, wenn Du die styles.css vorher manuell vom Server entfernst?

          Eventuell ist es eine “race condition”, weil Compiler erst die alte Datei entfernt/kürzt – wozu quasi das Verzeichnis selber »geschrieben« wird – aber bevor der Server diese Aktion vollendet hat bereits versucht, die neue Datei zu erstellen. Dann wäre das Verzeichnis im Prinzip schreibgeschützt, weil der Server noch mit der alten Fassung von styles.css beschäftigt ist, und der Compiler kann die neue Datei nicht erstellen.
          • Passiert das auch, wenn Du die styles.css vorher manuell vom Server entfernst?

            Ja, so wie es aussieht kann ich überhaupt nicht auf den Server schreiben, denn wenn ich nicht den genauen Pfad angebe, dann wird ja einfach ein neuer Ordner und die darin enthaltene styles.css geschrieben, davor (alter Rechner) ging das ohne Probleme und auf meinem anderen Rechner kann ich auch die styles.css überschreiben.
            Ich bin im Netz auf einige ähnliche Probleme gestossen und da war nach Neuinstallation von Compass und Sass die Rede, aber nichts davon hat geholfen.
            Wird das ganze Geraffel irgendwo gecacht und deswegen gibts keine Änderungen oder wie finde ich raus warum der Compiler keine Rechte erzeugt auf dem gemountetem Volume zu schreiben.