在没有*root的linux*上安装heroku cli,并且*没有自动更新*

Phi*_*rad 22 heroku command-line-interface

我是CS教授,正在尝试使用Heroku教授Web应用程序开发(Flask,Rails,SparkJava等).

我们的计算环境是一个集中管理的Linux系统,学生和我都没有root权限.学生的文件和磁盘配额也非常有限:200MB的空间和4000个单独的文件.

我曾经能够通过黑客攻击"独立安装"为他们提供一种方法来让他们访问Heroku工具带,以绕过默认的假设,即执行安装的人具有root权限.

但它不再有效.当我安装到目录并从那里运行时,heroku toolbelt一直试图"自动更新"到每个用户的〜/ .local/share中 ,因为heroku-cli安装中有超过12000个文件(!)它吹了他们的文件配额.

这太疯狂了.我想只安装一个heroku toolbelt客户端,集中更新它,而不是让每个学生都有自己的副本.这要问太多了吗?有没有办法做到这一点?

曾经有一些技巧让客户认为它已经是最新的,或者某种方式将它配置为不进行自动更新.但我找不到怎么做.

(提前感谢您的所有好主意,例如:让他们在自己的笔记本电脑上工作,制作虚拟机,让他们在AWS上工作等等.对于某些可行的并行世界来说,这些都是很棒的想法.如果我可以使用任何其他计算环境,我已经这样做了.这就是我拥有的.如果我不能让heroku在这里工作,我就不能在课堂上使用heroku.而且令人沮丧,因为它曾经工作.)

Dan*_*dau 1

作为一个快速而肮脏的解决方案,你可以lib/heroku/updater.rb改变

def self.needs_update?
  compare_versions(latest_version, latest_local_version) > 0
end
Run Code Online (Sandbox Code Playgroud)

def self.needs_update?
  false
end
Run Code Online (Sandbox Code Playgroud)

并且您将不再受到更新的困扰。每次您想要手动更新时都必须执行此操作。

一个更好、更可维护的解决方案是获取一个配置值或类似的东西来控制工具带上游接受的这种行为,该工具带是开源的https://github.com/heroku/heroku