1

我临时注释掉了sbt-gpg-pluginin ~/.sbt/plugin/build.sbt,因为我在publish-local不同的项目中使用了很多,而且对 GPG 密码的查询完全让我紧张。

现在我需要重新启用该插件,因为我想推送到 Sonatype。但不知何故 sbt 不会重新检查~/.sbt/plugin/build.sbt,所以即使在编辑后,取消注释该行

addSbtPlugin( "com.jsuereth" % "xsbt-gpg-plugin" % "0.6" )

它仍然不要求 GPG 签署工件的密码。我试过cleanreload,,,,,没有运气rebootreboot full我知道我可以重新启动计算机,这通常可以工作。但是必须有一些技巧来迫使 sbt 重新检查~/.sbt并识别它们的变化。

问题似乎涉及项目本身具有project/plugins.sbt,以某种方式干扰全局插件缓存。sbt 版本是 0.11.3

4

1 回答 1

0

一个相当愚蠢的解决方案,所以请添加更好的答案:

$ mv ~/.sbt/plugins/build.sbt ~/Desktop
$ sbt publish-local

这将尝试重新加载插件,但奇妙地要求它们以 Scala 2.9.2 而不是 Scala 2.9.1 的形式出现。所以最终会出现寻找插件的问题。然后返回:

$ mv ~/Desktop/plugins.sbt ~/.sbt/plugins/build.sbt
$ sbt publish-local

重新下载 Scala 2.9.1 的插件,并启用 GPG 插件。瞧。


编辑永远不要尝试将文件移动到基​​本目录中~/.sbt/——你会搞砸的

于 2012-08-01T22:40:57.743 回答