【问题标题】:Why does creating sbt project in IntelliJ IDEA cause "Permission Denied"?为什么在 IntelliJ IDEA 中创建 sbt 项目会导致“权限被拒绝”?
【发布时间】:2014-10-30 04:56:50
【问题描述】:

在 Mac OS X 10.9.4 上使用 IntelliJ IDEA 13.1.4 和 Scala 插件 0.41.2 创建 sbt 项目时,出现以下错误:

[warn] 下载模块描述符时出现问题: http://repo1.maven.org/maven2/org/scalatest/scalatest_2.11/2.2.1/scalatest_2.11-2.2.1.pom: /Users/.../.ivy2/cache/org.scalatest/scalatest_2.11/ivy-2.2.1.xml.original.part (权限被拒绝)(384 毫秒)

这会阻止刷新项目依赖项。

可能是什么问题和解决方案?

【问题讨论】:

  • 会不会是您一直在运行两个 sbt 会话并且它们同时访问同一个文件?这也可能是一个真正的权限被拒绝问题,因此请检查文件路径和每个目录的权限。
  • 我只有一个 sbt 会话。检查文件访问权限没有帮助!解决方法是将想法作为 sudo 命令运行。
  • Sudo for IDEA 是不可接受的。让我们争取更好的东西。你在哪个用户下运行 IDEA? .ivy2 目录的权限是什么?我认为您曾经使用 sudo 运行过 sbt/activator/IDEA,这弄乱了本地 repo 的权限。你能重命名 .ivy2 目录并重新开始一个 sbt 会话吗?
  • 问题在于 .ivy 缓存是由作为 sudo 命令运行的类型安全激活器创建的。所以 .ivy 缓存文件的所有者是 root。将所有者更改为当前用户,解决了问题。感谢您的提示,请发布答案。

标签: java scala intellij-idea sbt


【解决方案1】:

我认为您曾经使用 sudo 运行 sbt/activator/IDEA,这弄乱了使 root 成为所有者的本地 repo 权限。

检查~/.sbt 和~/.ivy2 目录的权限,应该允许当前用户在目录中读取和写入文件。

【讨论】:

  • 我也有这个问题,但不是 IDEA,我在我的项目目录中运行了 sudo,现在它给出了权限错误。 .sbt 和 .ivy2 看起来没问题,是否有其他地方可以检查
  • 如果你将 build.sbt 更改为监听 80 端口,删除该行。 IntelliJ 仍然认为应用想要在 80 上运行。
  • 我没有~/.sbt
  • @techkuz 操作系统是什么?确切的错误信息是什么?
  • @JacekLaskowski ubuntu 16.04,我有~/.sbt/ 文件夹,但没有这样的文件。虽然我可以通过在当前用户下手动运行IDEA ./idea.sh 来修复我的错误。
猜你喜欢
  • 2017-10-12
  • 1970-01-01
  • 2015-10-02
  • 2016-11-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
相关资源
最近更新 更多