我有一个Datomic Cloud / Ions项目,无法在其他计算机上工作。只是输入clj
以希望获得REPL会失败,但会出现以下异常(包括由链引起的;消除了堆栈跟踪;为清楚起见而进行了格式化):
Error building classpath. Failed to read artifact descriptor for com.datomic:ion:jar:0.9.34
org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for com.datomic:ion:jar:0.9.34
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact com.datomic:ion:pom:0.9.34 from/to datomic-cloud (s3://datomic-releases-1fc2183a/maven/releases): Unable to load AWS credentials from any provider in the chain
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.datomic:ion:pom:0.9.34 from/to datomic-cloud (s3://datomic-releases-1fc2183a/maven/releases): Unable to load AWS credentials from any provider in the chain
Caused by: com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain
如果我注释掉com.datomic/ion
文件中的deps.edn
依赖关系,则下载依赖关系,并且我可以成功进入REPL。
为什么在包含离子依赖项时获取依赖项失败?
问题是,离子代码中的某些地方使用AWS开发工具包从S3 Maven存储库中获取Maven依赖关系。这要求用户具有“读取公共可用的S3存储桶”权限。因此,请确保:
aws configure
命令,并且