Fork me on GitHub
#leiningen
<
2021-12-13
>
William Mizuta12:12:08

I am trying to run `lein.classpath/classpath` in an AWS Lambda, but I am getting the error

Cannot access  using the registered transporter factories: FileTransporterFactory, WagonTransporterFactory
I've been using https://github.com/s3-wagon-private/s3-wagon-private to download private dependencies from S3. I've already configured a role attached to the Lambda to allow it access the S3 bucket:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:List*",
                "s3:Get*"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket*"
            ],
            "Effect": "Allow"
        }
    ]
}
And this is the project.clj that is being used:
(defproject ....
  
  :repositories  [["central"  {:url "" :snapshots false}]
                  ["clojars"  {:url ""}]
                  ["nu-maven" {:url "" :snapshots false :sign-releases false}]]
...)
Does anyone know what could be the issue?

William Mizuta12:12:21

I forgot to mention, but we are also changing dynamically the project.clj to add :local-repo "/tmp/m2" as the Lambda doesn't have write permission on ~/.m2

William Mizuta12:12:57

We also added the environment variable LEIN_HOME="/tmp/lein" due to the same permission issue

vemv12:12:03

Doesn't sound like a generic Lein issue to me, perhaps you'd have better luck getting a full stacktrace and creating a github issue in the plugin's repo

gratitude-thank-you 1
William Mizuta15:12:46

It makes sense. I will also open there an issue about this bug