IntelliJ 无法使用此插件加载项目,因为它无法在加载项目时定义为 sbt 设置的环境变量。 为 MacOS 上的应用程序设置它们似乎不可靠,因为以前的工作技术在操作系统更新时被破坏了。
如果 github 令牌可以作为 JVM 属性提供,那将是很好的,它可以很容易地设置。
很高兴接受TokenSource
的 PR !
我同意这会有所帮助,但如果您需要,我会将此作为快速/肮脏的解决方案。
githubTokenSource := TokenSource.GitConfig("github.token") || TokenSource.Environment("GITHUB_TOKEN")
该解决方法对我不起作用。
该解决方法对我不起作用。
您使用的个人访问令牌是否设置了包范围? ~/.gitconfig 文件应该有这样的一行。
[github]
token = <github_token_value>
是的,这就是我在 .gitconfig 文件中的内容。
该解决方法对我不起作用。
您使用的个人访问令牌是否设置了包范围? ~/.gitconfig 文件应该有这样的一行。
[github] token = <github_token_value>
我尝试过类似的~/.gitconfig
,它也没有为我所用。
要使环境变量在 IntelliJ 中工作,请启用 sbt shell 以重新加载项目。
构建工具 > sbt > sbt 项目
这在社区版 2020.3 版中对我有用。
要使环境变量在 IntelliJ 中工作,请启用 sbt shell 以重新加载项目。
构建工具 > sbt > sbt 项目
这在社区版 2020.3 版中对我有用。
这对我不起作用。 我通过环境变量配置了它。 作为一种解决方法,我通过使用sbt-dotenv插件解决了这个问题。 在此之后,一切正常,无需对 IntelliJ 配置或其他方式进行任何更改。
此问题中建议的解决方法的变体适用于我的 IntelliJ 设置。
githubTokenSource := TokenSource.Or(
TokenSource.Environment("GITHUB_TOKEN"), // Injected during a github workflow for publishing
TokenSource.GitConfig("github.token") // local token set in ~/.gitconfig
)
我分享说,我们的团队认为通过将 githubTokenSource 值作为通用设置注入到 build.sbt 中每个项目的配置块中,我们已经通过单项目和多项目构建解决了这个问题。 对于具有 ~/.gitconfig github.token 条目或具有 GITHUB_TOKEN 环境变量的用户、IDE 和 GitHub Action 工作区来说,一切都很顺利。
直到我们中的一个人决定使用 Lagom 插件的runAll
任务。
对于原始问题,这会立即消失。
Lagom 插件用于部署服务群的分叉上下文缺少环境变量和 ~/.gitconfig 文件。
我们正在研究为该分叉执行环境设置环境的方法。
但是,即使没有调用 GitHub 包插件任务,也必须提供 GITHUB_TOKEN 的总体假设被证明对我们的用户和机器人来说是令人沮丧的,因为我们的用户和机器人碰巧已经有了该令牌可用。
SBT 大师。
是否有适当的方法将设置(尤其是githubTokenSource
)“注入”到全局命名空间中,以便像sbt-github-packages
这样的插件可以看到所有明确定义的项目的设置,所有动态定义的项目(像 Lagom 的插件创建的那样)、所有构建阶段和所有分叉上下文?
必须明确声明在所有这些排列中始终不变的凭证的位置是很繁重的,必须深入了解 SBT 如何管理命名空间或状态缓存的细节。
也许这不是这个特定插件的错,但这个插件被指责为必须进行所有这些内部 SBT 手术以试图涵盖所有情况。
最有用的评论
要使环境变量在 IntelliJ 中工作,请启用 sbt shell 以重新加载项目。
构建工具 > sbt > sbt 项目
这在社区版 2020.3 版中对我有用。