Provare a impostare la variabile GRADLE_USER_HOME in una cartella in cui si dispone di accesso valido. Quindi questo errore andrà via.
Per esempio: ho affrontato lo stesso problema oggi mentre eseguivo il comando "gradle clean" su una nuova macchina slave.
La mia versione di Gradle era 2.3.
Con --stacktrace, sono venuto a sapere che stava cercando di creare la cartella ".gradle" per la memorizzazione dei dati della cache di Gradle (mentre ho invocato Gradle per eseguire l'operazione pulita sullo slave) e stava cercando di creare quella cartella sotto /alcuni/posizione/dove/gradle/esiste OPPURE alcuni/percorso/posizione/xxx/yyy dove l'utente che stava eseguendo Gradle sulla macchina slave non aveva accesso valido per scrivere (creare cartella/file).
ovvero l'utente che ho usato per connettere dalla macchina Jenkins allo slave non ha avuto accesso in scrittura a touch/mkdir nella posizione predefinita (dove pensava Gradle, OK dovrei creare la cartella .gradle qui).
Per risolvere il problema, ho aggiunto la precedente variabile GRADLE_USER_HOME nella sezione Variabile ENVIRONMENT dello slave. Ora, dato che ho accesso valido nella mia home directory, ero OK.
Ambito:
GRADLE_USER_HOME=~/gradle_2_3_cache/.gradle
ha risolto il problema.
È possibile impostarlo anche in ~/.gradle. Ma l'ho impostato sotto una cartella personalizzata all'interno della mia ~ home directory (gradle_2_3_cache). Questo mi aiuterà nel caso in cui io abbia un altro slave in esecuzione sulla stessa macchina Slave ma con una diversa versione di Gradle per la versione ex 2.5 etc e se voglio la cache .gradle per la versione 2.3 e 2.5/x in cartelle separate.
fonte
2015-07-17 18:39:47
Avete privilegi appropriati per eseguire il comando? – Opal
Penso che tu abbia ragione, il problema è con i privilegi, perché nel root user gradle funziona correttamente, provo a impostare 777 permessi per gradle folder usando il comando chmod -R 777 ./gradle-2.4, ma si verifica ancora un errore. La cartella Gradle I è stata decompressa nella home directory dell'utente con cui ottengo l'errore sopra descritto. –
Plonking 'sudo' davanti al comando che ho digitato ha risolto questo problema. Il messaggio di errore potrebbe essere un po 'più utile a questo proposito. – ben3000