Попробуйте установить переменную GRADLE_USER_HOME в папку, в которой у вас есть действительный доступ. Тогда эта ошибка исчезнет.
Для примера: сегодня я столкнулся с той же проблемой, когда я запускал команду «gradle clean» на новой подчиненной машине.
My Gradle версия была 2.3.
С помощью -stacktrace я узнал, что пытался создать папку «.gradle» для хранения данных кэша Gradle (в то время как я вызывал Gradle для запуска чистой задачи на подчиненном устройстве), и он пытался создать эту папку в /some/location/where/gradle/exists OR some/path/location/xxx/yyy, где пользователь, который запускал Gradle на подчиненном компьютере, не имел действительного доступа к записи (создать папку/файлы).
т. Е. Пользователь, которого я использовал для подключения с машины Дженкинс к подчиненному устройству, не имел права на запись, чтобы коснуться/mkdir в месте по умолчанию (где думал Градл, ОК, я должен создать здесь папку .gradle).
Чтобы исправить это, я добавил указанную выше переменную GRADLE_USER_HOME в разделе Variable Variable. Теперь, когда у меня есть действительный доступ в моем домашнем каталоге, я был в порядке.
Окружение:
GRADLE_USER_HOME=~/gradle_2_3_cache/.gradle
решен вопрос.
Вы также можете установить его на ~/.gradle. Но я установил его под пользовательскую папку внутри моего домашнего каталога (gradle_2_3_cache). Это поможет мне в случае, если у меня будет другое подчиненное устройство, работающее на одной и той же ведомой машине, но с другой версией Gradle для версии версии версии 2.5 и, если я захочу использовать кеш .gradle для версий 2.3 и 2.5/x в отдельных папках.
У вас есть соответствующие права для запуска команды? – Opal
Я думаю, что вы правы, проблема с привилегиями, потому что в корневом пользовательском градиенте правильно работает, я пытаюсь установить 777 разрешений для перехода в папку gradle с помощью команды chmod -R 777 ./gradle-2.4, но ошибка все еще происходит. Папка Gradle, которую я распаковал в домашнем каталоге пользователя, с которым я получил ошибку, описанную выше. –
Plonking 'sudo' перед командой, которую я набрал, исправил это. Сообщение об ошибке может быть немного более полезным в этом отношении. – ben3000