run - id heroku
Instale heroku cli en linux*sin*root, y*sin actualización automática* (1)
Soy un profesor de CS que intenta enseñar desarrollo de aplicaciones web (Flask, Rails, SparkJava, etc.) utilizando Heroku.
Nuestro entorno informático es un sistema Linux gestionado centralmente, donde ni los estudiantes ni yo tenemos permiso de root. Los estudiantes también tienen cuotas de archivos y discos muy limitadas: 200 MB de espacio y 4000 archivos individuales.
Solía poder proporcionarles una forma de darles acceso al cinturón de herramientas de Heroku pirateando la "instalación independiente" para evitar la suposición predeterminada de que la persona que realiza la instalación tiene permiso de root.
Pero ya no está funcionando. Cuando instalo en un directorio y ejecuto desde allí, el heroku toolbelt sigue intentando "actualizarse automáticamente" en ~ / .local / share para cada usuario individual y ya que la instalación de heroku-cli tiene más de 12000 archivos (!) sopla su cuota de archivo.
Esto es una locura. Quiero tener solo UNA instalación del cliente heroku toolbelt, actualizarlo de manera centralizada y NO hacer que cada estudiante tenga su propia copia. ¿Es esto mucho pedir? ¿Hay alguna manera de hacer esto?
Solía haber algún truco para hacer que el cliente pensara que ya estaba actualizado, o alguna forma de configurarlo para NO realizar la actualización automática. Pero no puedo encontrar cómo hacerlo.
(Gracias de antemano por todas sus buenas ideas, tales como: hacer que trabajen en sus propias computadoras portátiles, hacer una máquina virtual, hacer que trabajen en AWS, etc. Todas esas son ideas geniales para un universo paralelo en el que son factibles. podría usar cualquier otro entorno informático, ya lo estaría haciendo. Este es el que tengo. Si no puedo hacer que el heroku funcione aquí, simplemente no puedo usar el heroku en clase. Y es frustrante, porque solía hacerlo. trabajo.)
Como una solución rápida y sucia, puedes cambiar en lib/heroku/updater.rb
def self.needs_update?
compare_versions(latest_version, latest_local_version) > 0
end
a
def self.needs_update?
false
end
y ya no estarás fastidiado con las actualizaciones. Tienes que hacer esto cada vez que quieras actualizar manualmente.
Una solución mejor y más mantenible sería obtener un valor de configuración o algo similar para controlar este comportamiento aceptado en sentido ascendente en el cinturón de herramientas, que es código abierto en https://github.com/heroku/heroku