No encontré ningún problema existente sobre esto. Apertura para seguimiento.
Deje que flutter sea brew install flutter
capaz.
@gspencergoog te puede interesar
https://docs.brew.sh/Formula-Cookbook
El proceso es bastante sencillo. Aunque tendríamos que asegurarnos de que se integre con nuestro https://github.com/flutter/flutter/wiki/Release-process , idealmente de forma automatizada.
¡Hola equipo de Flutter! Comencé a agregar una fórmula flutter
a Homebrew en https://github.com/Homebrew/homebrew-core/pull/27395 , pero definitivamente podría usar más orientación para seguir la dirección en este comentario:
Aunque tendríamos que asegurarnos de que se integre con nuestro https://github.com/flutter/flutter/wiki/Release-process , idealmente de forma automatizada.
En este momento, la fórmula Homebrew simplemente descarga la versión beta actual, la descomprime y la copia en Flutter's Keg (por ejemplo, /usr/local/Cellar/flutter/0.3.1/
).
¡Cualquier comentario será bienvenido!
@ jcollins-g wrt al shlock de https://github.com/Homebrew/homebrew-core/pull/27395 , tal vez podamos verificar si shlock devuelve no permitido / 1 y la identificación del proceso padre es brew, don't shlock. También podemos bloquear la escritura en partes de la caché para evitar la actualización automática cuando se instala brew.
Para el contexto en ese Homebrew PR, escribí sobre el problema shlock
en los comentarios que comienzan aquí: https://github.com/Homebrew/homebrew-core/pull/27395/files#diff -b438c13e924f5f36b1ce4398a89436d2R36
En realidad, analizamos esta idea un poco más y creo que, en última instancia, nos gustaría que la fórmula oficial estuviera en un grifo casero (repositorio no central). De esta manera, podemos mantener la actualización de flutter y preparar objetivos de actualización herméticamente sincronizados.
Con suerte, podemos traer una versión de su fórmula al grifo en un futuro cercano y simplificar el proceso de instalación oficial.
¡Seguro! En ese caso, estaría feliz de cerrar el PR en homebrew-core
si eso tiene sentido.
Si. ¡Gracias por hacer la contribución!
@xster fwiw eso no es necesario. Las fórmulas en Homebrew / homebew-core se actualizan pocas horas después de las versiones anteriores, ya que ejecutamos brew livecheck
varias veces al día.
El comportamiento de @xster / @briankung shlock en brew me sorprende un poco. No es que haya mucho especial aquí:
https://opensource.apple.com/source/shell_cmds/shell_cmds-118/shlock/shlock.c.auto.html
openloop:
if ((fd = open(tempname, O_RDWR|O_CREAT|O_EXCL, 0644)) < 0) {
Eso siempre debería ser válido para hacer en un sistema de archivos POSIX, bueno, a menos que haya configurado chflags en el directorio para evitar que se escriba:
jcollins-macbookpro:shlock jcollins$ sudo chflags uchg .
jcollins-macbookpro:shlock jcollins$ ls -la
total 0
drwxr-xr-x 2 jcollins wheel 64 May 3 08:50 .
drwxrwxrwt 69 root wheel 2208 May 3 08:52 ..
jcollins-macbookpro:shlock jcollins$ echo hi > foo
-bash: foo: Operation not permitted
jcollins-macbookpro:shlock jcollins$ ls -la
total 0
drwxr-xr-x 2 jcollins wheel 64 May 3 08:50 .
drwxrwxrwt 69 root wheel 2208 May 3 08:52 ..
jcollins-macbookpro:shlock jcollins$ shlock -f foo -p $$
shlock: open(shlock14741): Operation not permitted
jcollins-macbookpro:shlock jcollins$
Si algo en homebrew o la forma en que lo está configurando lo hace, arreglar shlock no lo va a cortar porque luego fallará cuando se intenten inevitablemente otras operaciones de escritura en el caché.
Si agrega esta línea:
chflags -R nouchg "$FLUTTER_ROOT/bin/cache"
aquí lo soluciona, tienes un problema de chflags y probablemente deberías lidiar con eso de alguna manera. De alguna manera, es posible que bin / cache ya exista en el momento en que ejecuta flutter por primera vez (¿tal vez esté comenzando con una compilación binaria de flutter? Esos tienen caché prefabricado y, por lo tanto, pasarán bien el mkdir, pero no podrá para escribir en la caché).
[editado para corregir chflags]
@ jcollins-g Ah, mi unix-fu no está a la altura. No sabía nada de chflags
, pero tiene sentido. Supongo que es académico en este punto, pero lo investigaré. ¡Gracias!
Agregué la línea de la siguiente manera:
diff --git a/bin/flutter b/bin/flutter
index 079c3f94d..1b7e06f43 100755
--- a/bin/flutter
+++ b/bin/flutter
@@ -39,6 +39,7 @@ function _rmlock () {
function upgrade_flutter () {
mkdir -p "$FLUTTER_ROOT/bin/cache"
+ chflags -R nouchg "$FLUTTER_ROOT/bin/cache"
# This function is executed with a redirect that pipes the source of
# this script into file descriptor 3.
Y la prueba flutter --version
aún falla con el error shlock
.
Me perdí algo que dijiste antes:
¿tal vez estás comenzando con una compilación binaria de flutter? Esos tienen caché prefabricado, por lo que pasarán bien el mkdir, pero no podrá escribir en el caché
Creo que estoy usando una compilación binaria de flutter. Es el zip de https://flutter.io/setup-macos/#get -sdk.
Como tenía curiosidad, eliminé la carpeta cache
para ver si el script flutter
podía crear la carpeta en sí. No pudo: mkdir: /usr/local/Cellar/flutter/0.3.1-beta/bin/cache: Operation not permitted
e insertar un echo $(whoami)
en flutter
muestra que el script se está ejecutando como mi usuario personal (verificación de cordura).
No estoy muy familiarizado con los permisos de Unix, pero parece que necesito sudo
para editar cualquier archivo en /usr/local/Cellar/flutter/
, y revisar los permisos muestra que todos los archivos están en el admin
grupo:
$ pwd && echo && ls -al bin
/usr/local/Cellar/flutter/0.3.1-beta
total 32
drwxr-xr-x 5 briankung admin 160 May 4 10:01 .
drwxr-xr-x 26 briankung admin 832 May 4 09:53 ..
-r-xr-xr-x 1 briankung admin 6892 May 4 10:01 flutter
-r--r--r-- 1 briankung admin 6338 May 4 09:52 flutter.bat
drwxr-xr-x 8 briankung admin 256 May 4 09:52 internal
Copiar el directorio en mi directorio de inicio le asigna el grupo staff
, y luego ejecutar ~/flutter/bin/flutter --version
con el directorio cache
eliminado comienza a descargar el idioma Dart. Sin embargo, cambiar el grupo en la carpeta flutter
Homebrew, /usr/local/Cellar/flutter/
, no permite que el barril de cerveza cree la carpeta, y cuando creo la carpeta yo mismo, termino de nuevo en el shlock: open(/usr/local/Cellar/flutter/0.3.1-beta/bin/cache/shlock9849): Operation not permitted
error.
Gracias por la respuesta detallada @briankung. Podría profundizar más en esto con usted, pero parece que el error fundamental es que no podemos garantizar la capacidad de escritura en bin / cache bajo la instalación de Flutter por parte de usuarios habituales y Flutter asume esto.
La mayoría de los paquetes de Unix separan los bits en caché que administran de la instalación binaria. El método de empaquetado de Flutter es un poco poco ortodoxo en el sentido de que los bits en caché incluyen la mayor parte de la instalación binaria. Homebrew, apt-get, prácticamente todos los administradores de paquetes y sistemas operativos tendrán alguna combinación de permisos, chroot durante la compilación, chattr / chflags, etc. para tratar de evitar que los usuarios habituales modifiquen los paquetes instalados.
Creo que lo correcto aquí podría ser establecer una bandera en un archivo que bloquee la caché de flutter como de solo lectura y hacer que las herramientas de actualización integradas de flutter la respeten. De esa manera, podemos distinguir entre el error de configuración del usuario y el usuario que usa un paquete instalado, y mostrar los errores correspondientes. O, más simplemente, podríamos verificar la capacidad de escritura de la caché y omitirla si no podemos escribir en la caché.
La sugerencia original de @xster podría ser suficiente si el resto de las herramientas ya lo admiten. que parece que podría ser el caso.
He investigado un poco más. Parece que, en la mayoría de los casos, no necesitamos escribir en FLUTTER_ROOT y sus subdirectorios.
Sin embargo, hay excepciones que pueden resultar en bloqueos:
El obstáculo con el que nos encontramos aquí es definitivamente uno.
La mejora de bloqueo en aleteo es otra.
El bloqueo de archivos dorados es otro.
Además, la preferencia por una caché de pub de raíz de flutter me parece sospechosa, a menos que pub esté codificado para manejar este caso, eso probablemente tampoco funcionará en los casos en que un desarrollador quiera usar un paquete diferente.
Dado que encontré todos estos pequeños problemas de inmediato, creo que para solucionarlo definitivamente, probablemente necesitemos agregar pruebas de integración en ejecución utilizando un FLUTTER_ROOT de solo lectura y rastrear cualquier pequeña excepción como esta. Eso también evitará que esto vuelva a aparecer, ya que es muy fácil como desarrollador de Flutter introducir accidentalmente algo como esto.
+1 en pruebas con root de solo lectura
¿Alguna actualización sobre esto?
Esto no es algo que planeemos hacer actualmente, pero si alguien quisiera trabajar en esto, apoyaríamos este trabajo. Supongo que implicaría la integración con nuestros scripts de integración continua para publicar en homebrew de alguna manera, o crear un script de arranque que sepa cómo integrarse con flutter y mantenerlo (y especialmente, escribir pruebas para asegurarnos de que sabemos cuándo se rompe, para que podamos arreglarlo). Si está interesado en trabajar en esto, no dude en comunicarse conmigo.
Cambié este error para que sea específicamente sobre homebrew, si está interesado en lo mismo para apt-get, presente un error por separado (aunque el comentario anterior se aplica igualmente a eso).
Hice un repositorio de tap para Mac OS: (https://github.com/eclewlow/homebrew-formulas)
Sin embargo, todo lo que hace es instalar Flutter.
brew install eclewlow/formulas/flutter
Aún tienes que descargar IOS y Android Dev Tools tú mismo.
Sin embargo, no pasó el brew audit
, por lo que no puedo agregarlo a homebrew.
Este es el por qué:
* Stable version URLs should not contain beta
* Non-executables were installed to "/usr/local/opt/flutter/bin"
The offending files are:
/usr/local/opt/flutter/bin/cache
/usr/local/opt/flutter/bin/internal
* flutter has broken dynamic library links:
Dado que se lanzó la versión 1.0 de flutter, espero poder ver la fórmula😄.
Dado que se lanzó la versión 1.0 de flutter, espero poder ver la fórmula😄.
deseando que lo haga también.
@eclewlow por favor actualice a 1.0
Lo siento, estoy en un crucero y la conexión a Internet por satélite es terrible.
Regresaré el día 10 y luego podré hacerlo.
Si alguien quiere hacerlo por sí mismo, puede crear un repositorio.
Cambié la fórmula para que realmente verifique Flutter de git, en lugar de descargar el paquete precompilado.
Pero no he descubierto cómo obtener la etiqueta de la última versión de un repositorio.
Así es como se vería la fórmula:
clase Flutter <Fórmula
desc "Cree hermosas aplicaciones nativas en un tiempo récord"
página de inicio " https://flutter.io/ "
versión "1.0.0"
url " https://github.com/flutter/flutter.git "
sha256 "6e3ba2da94fb150d2cb8e0596eeb92c86e5e437e91a5f39f211bd4b21d0b24f8"
botella: innecesario
def instalar
sistema "git", "buscar", "--tags"
# última etiqueta de pago, ¿algo como esto?
# git checkout $ (git describe --abbrev = 0 --tags)
# y use en lugar de esta siguiente línea:
sistema "git", "pago", "etiquetas / v1.0.0"
sistema "./bin/flutter"
allfiles = File.join (buildpath, " *", "{ ,. *}")
mv Dir.glob (todos los archivos), Dir.glob (prefijo),: force => true
# bin.install File.join(prefix, "bin/cache/dart-sdk/bin/dart")
# bin.install File.join(prefix, "bin/cache/dart-sdk/bin/pub")
fin
def post_install
rm File.join (HOMEBREW_PREFIX, "bin", "flutter.bat")
chmod_R "+ rwx", File.join (prefijo, "bin"),: verbose => true
# this line could be useful, it installs the dependencies
# of flutter, such as xcode and android if needed
# "flutter packages get"
fin
prueba hacer
sistema "falso"
fin
fin
El 6 de diciembre de 2018, a las 11:39 a.m., Alberto Xamin [email protected] escribió:
@eclewlow https://github.com/eclewlow , actualice a 1.0
-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub https://github.com/flutter/flutter/issues/14050#issuecomment-445002396 , o silencia el hilo https://github.com/notifications/unsubscribe-auth/AfVSYcUOrJtVDISTEwKF4pRcsO5PL2vRhks5 .
Mirando hacia adelante también 🚶
Dado que android-sdk
está disponible como barril, pensé que tendría más sentido que flutter
también estuviera disponible como barril. Así que seguí adelante e hice un toque casero para el barril flutter
. Puedes comprobarlo aquí .
Primero intenté crear una fórmula simple y fracasé estrepitosamente, ya que no tengo absolutamente ninguna experiencia en el desarrollo de fórmulas caseras.
Si desea esto, ¿puede aclarar lo que realmente le gustaría que hiciera?
por ejemplo, ¿qué debería hacer flutter channel beta
después de ejecutar brew install flutter
? ¿Le gustaría poder enviar PR para cambios en flutter desde su instalación local de flutter? ¿Le gustaría que esto instale el SDK de Android o Xcode por usted? ¿Le gustaría poder hacer flutter run
en los directorios de ejemplos?
Soy un gran usuario de homebrew, pero nunca he escrito un complemento de homebrew. Dicho esto, aquí está la opinión de un hombre:
¿Qué debería hacer
flutter channel beta
después de ejecutarbrew install flutter
?
Cambia al canal beta.
¿Le gustaría poder enviar PR para cambios en flutter desde su instalación local de flutter?
No. Homebrew en este caso de uso es para usar paquetes, no necesariamente para modificar esos paquetes.
¿Le gustaría que esto instale el SDK de Android o Xcode por usted?
Debería instalar todas las dependencias.
¿Le gustaría poder ejecutar flutter en los directorios de ejemplos?
Si. Una vez que ejecute brew install flutter
, flutter
estará en la ruta y podrá usarlo como si lo hubiera instalado de la misma manera que se describe en el tutorial de Flutter.
Está bien. Actualicé mi fórmula casera para Flutter.
https://github.com/eclewlow/homebrew-formulas
Instala la versión etiquetada más reciente de Flutter en el repositorio de flutter (https://github.com/flutter/flutter) a través de Git.
(Actualmente v1.1.1, pero detectará automáticamente lo último en la instalación)
Para actualizar, probablemente tenga que reinstalar flutter a través de brew
brew uninstall flutter
brew install flutter
Escribí un pequeño tutorial para llegar a otras personas.
https://medium.com/@sadmansamee/installing -flutter-via-homebrew-a5d7009c95ba? fbclid = IwAR0DJZOdi-av2X1ofmbc1MaO7SZ7c30bowlkPK9EjIztPCrOhTv2tGbdx7E
Escribí mi fórmula casera para Flutter.
https://github.com/miderwong/homebrew-flutter
Instala la última versión estable (v1.0.0) de Flutter en el repositorio de flutter (https://github.com/flutter/flutter) a través de Git.
brew install flutter
brew upgrade flutter
Solo un ejemplo simple, hay muchas deficiencias, bienvenido a corregirme.
https://github.com/flutter/flutter/issues/14050#issuecomment -449447441
Esto funciona bien, no se confunda como yo con el mensaje antes de la instalación o la larga espera en la instalación, eso es normal y el mensaje solo se aplica si está en chine o tiene problemas para ejecutar flutter doctor
después de la instalación.
Gracias :)
Relacionado con # 9401
brew install flutter
Error: No available formula with the name "flutter"
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
@jesusvallez necesitará un toque, por ejemplo brew tap MiderWong/flutter
. Esto es lo que https://github.com/flutter/flutter/issues/14050#issuecomment -449447441 no dijo, pero quiso decir. Simplemente siga https://github.com/miderwong/homebrew-flutter .
Escribí mi fórmula casera para Flutter.
https://github.com/miderwong/homebrew-flutter
Instala la última versión estable (v1.0.0) de Flutter en el repositorio de flutter (https://github.com/flutter/flutter) a través de Git.
brew install flutter brew upgrade flutter
Solo un ejemplo simple, hay muchas deficiencias, bienvenido a corregirme.
La secuencia de comandos se ha actualizado. Actualice el repositorio de git con el siguiente comando:
brew untap MiderWong/flutter
brew tap MiderWong/flutter
Y siga las instrucciones del archivo README:
Flutter-homebrew-README
@MiderWong
obtener
Error: Invalid formula: /usr/local/Homebrew/Library/Taps/miderwong/homebrew-flutter/flutter.rb
flutter: cannot load such file -- nokogiri
Error: Cannot tap miderwong/flutter: invalid syntax in tap!
@TuxujPes Hizo un barril para instalar flutter, que se puede instalar ejecutando
brew tap probablykasper/tap
brew cask install flutter
flutter upgrade
https://github.com/probablykasper/homebrew-tap/blob/master/Casks/flutter.rb
Simplemente descarga el zip de instalación de macOS flutter y vincula el ejecutable flutter
. Luego, ejecutarías flutter doctor
después.
Entonces, en lugar de tener que instalar desde el toque personalizado de un usuario, ya sea @SpectralKH 's o @MiderWong ' s o @eclewlow 's, y luego tener que confiar y esperar que:
Mi sugerencia es hacer lo mismo que lo que ha hecho Dart donde Dart tiene un grifo de preparación llamado dart-lang/dart
y se hace referencia en los documentos oficiales de Dart.
Esto alinea a Flutter con Dart (considerando que son efectivamente proyectos hermanos) y mantiene las cosas consistentes y simples.
(Pensamiento de ducha: considerando que Flutter es un proyecto hermano de Dart y Flutter requiere Dart, ¿por qué no simplemente agruparlo como otra fórmula en el grifo dart-lang
?)
Supongo que mis preguntas son, como desarrollador no cervecero y quién es nuevo en esta discusión:
@Harmelodic Muy justas preocupaciones. Podrían hacer un barril de cerveza oficial como mínimo: el mío es literalmente 10 líneas de código.
También vale la pena señalar que de los más de 6000 problemas abiertos, este es el cuarto en la lista cuando se clasifican por reacciones 👍. Aprecio los esfuerzos de la comunidad, pero prefiero usar algo que tenga soporte oficial siempre que sea posible, y parece que no estoy solo en eso. Por favor, haga de esto una prioridad 🙏
¿cualquier actualización?
Si alguien está interesado en poseer esto, esto es algo que nos complacerá ayudarlo a configurar en la infraestructura de compilación de Flutter.
Si alguien está interesado en poseer esto, esto es algo que nos complacerá ayudarlo a configurar en la infraestructura de compilación de Flutter.
¿Alguien está trabajando en esto?
Escribí mi fórmula casera para Flutter.
https://github.com/miderwong/homebrew-flutter
Instala la última versión estable (v1.0.0) de Flutter en el repositorio de flutter (https://github.com/flutter/flutter) a través de Git.
brew install flutter brew upgrade flutter
Solo un ejemplo simple, hay muchas deficiencias, bienvenido a corregirme.
Funciona muy bien.
¡Pero también necesitamos una rama MASTER (no solo dev / stable) para poder usar Flutter para Web!
Esto parece una victoria muy fácil para el proyecto. ¡Por favor, dedique un poco de tiempo y envíe esto!
Esto significaría un montón de cambios en la forma en que hacemos nuestras herramientas. Dado que en un mundo de cerveza, Flutter no tendría el control de la actualización automática. También necesitaría conocer el diseño de Brew o cómo encontrar un lugar en el que se pueda escribir para el almacenamiento en caché. Esto caería bajo la perspectiva de @zanderso y probablemente sería un buen trabajo.
@eseidelGoogle ¿Qué tal tener un barril oficial?
@probablykasper esa es la parte fácil. :) La parte difícil es asegurarse de que la herramienta futter
sepa cómo comportarse correctamente cuando se instala como parte de una ubicación / proceso de instalación normal del barril, etc.
La parte difícil es asegurarse de que la herramienta
futter
sepa cómo comportarse correctamente cuando se instala como parte de una ubicación / proceso de instalación normal de barrica, etc.
Eso es correcto. Enseñarle a la herramienta flutter
que algo más es responsable de la instalación, actualización y enseñarle a comprender una disposición más diversa de permisos de sistemas de archivos es una buena parte del trabajo.
Además, no es un bloqueador duro, pero esto también entra en conflicto con nuestro deseo de tener una forma de baja fricción para que la gente contribuya a Flutter, que es más complicado si los bits de repositorio de Flutter no son administrados por git.
@probablykasper esa es la parte fácil. :) La parte difícil es asegurarse de que la herramienta
futter
sepa cómo comportarse correctamente cuando se instala como parte de una ubicación / proceso de instalación normal del barril, etc.
Estoy probando Flutter en Homebrew Cask, parece funcionar bien para mí. ¿Debería reconsiderar el uso de Cask en lugar de Formula for Homebrew?
socheatsok78 / homebrew-flutter
El cambio a un canal diferente se puede realizar usando flutter
CLI.
Y el directorio de instalación es bastante sencillo para Cask y luego usa Formula.
@ socheatsok78 intentará esto. Gracias
brew cask install socheatsok78/flutter/flutter
x-MacBook-Pro:flutter apple$ which flutter
/usr/local/bin/flutter
Pero parece que tiene problemas en Mac debido a la nueva seguridad en Catolina.
x-MacBook-Pro:mac apple$ flutter
/usr/local/bin/flutter: line 183: 73175 Killed: 9 "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
Pero parece que tiene problemas en Mac debido a la nueva seguridad en Catolina.
x-MacBook-Pro:mac apple$ flutter /usr/local/bin/flutter: line 183: 73175 Killed: 9 "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
Estoy en Catalina, no estoy muy seguro de eso. El único problema que tenía era idevice_id
que se puede encontrar aquí # 42302
Pero parece que tiene problemas en Mac debido a la nueva seguridad en Catolina.
x-MacBook-Pro:mac apple$ flutter /usr/local/bin/flutter: line 183: 73175 Killed: 9 "$DART" --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
Estoy en Catalina, no estoy muy seguro de eso. El único problema que tenía era
idevice_id
que se puede encontrar aquí # 42302
vaya a Preferencias del Sistema, abra el menú de seguridad, en la sección general puede permitir el acceso a Dart. Ejecute flutter upgrade
nuevamente. Podría fallar una segunda vez, diciendo que algo del kernel está fallando. Repite el mismo procedimiento de nuevo y ¡voilá!
Instalar Fluter en / usr / local / Cellar / flutter y vincular binarios en / usr / local / bin debería hacer el truco en mi humilde opinión. No puedo verificarlo actualmente porque no me atrevía a actualizar a Catalina todavía.
¿Alguna actualización sobre este tema?
Todavía con la esperanza de que tengamos un barril y un barril de cerveza canónicos. ¡La configuración de Catalina PATH es simplemente molesta!
esto es probablemente dos horas de trabajo y ahorrará toneladas de horas para muchas personas, así que por favor
Lo espero con ansias.
Pulgar hacia arriba, ¡Esperamos con ansias esto!
Yo
Hola a todos, un breve recordatorio sobre nuestras políticas de higiene de problemas:
https://github.com/flutter/flutter/wiki/Issue-hygiene#do -not-add-me-too-or-same-comments-to-bugs
Sin embargo, habiendo dicho eso, tenga en cuenta que estamos al tanto de este problema.
@zanderso Agradezco la moderación, pero creo que en este momento se justifica alguna comunicación sobre esta solicitud en particular. Claramente, hay un interés muy importante en esto y un deseo de apoyo oficial en lugar de apoyo de la comunidad. Si bien varios usuarios han propuesto soluciones, muchos más usuarios han expresado su deseo de contar con soporte oficial para esto. Desafortunadamente, la respuesta general ha sido de no acción.
En nombre de todos en este hilo, le pido al equipo central que haga un plan para abordar esto y comunicar ese plan a la base de usuarios.
Hola a todos, un breve recordatorio sobre nuestras políticas de higiene de problemas:
https://github.com/flutter/flutter/wiki/Issue-hygiene#do -not-add-me-too-or-same-comments-to-bugs
Sin embargo, habiendo dicho eso, tenga en cuenta que estamos al tanto de este problema.
Esto es ridículo. Acabo de llegar de la página de inicio de Flutter y estaba listo para intentarlo cuando vi el arcaico proceso de instalación. Vine aquí y vi este problema abierto durante dos años completos sin actualizaciones tangibles.
Bueno, entonces en Kotlin.
Vine aquí porque el sitio flutter.dev, como muchos otros sitios de Google, está lleno de cosas que se pueden filtrar y no funcionan con Adblocker. Entonces no puedo descargar flutter sdk sin deshabilitar todo.
apt-get / brew sería mucho más conveniente.
Además, como lo mencionó @timmyjose
Hola a todos, un breve recordatorio sobre nuestras políticas de higiene de problemas:
https://github.com/flutter/flutter/wiki/Issue-hygiene#do -not-add-me-too-or-same-comments-to-bugs
Sin embargo, habiendo dicho eso, tenga en cuenta que estamos al tanto de este problema.Esto es ridículo. Acabo de llegar de la página de inicio de Flutter y estaba listo para intentarlo cuando vi el arcaico proceso de instalación. Vine aquí y vi este problema abierto durante dos años completos sin actualizaciones tangibles.
Bueno, entonces en Kotlin.
¿Por qué no se aborda eso ...
El sitio de @CAoTx Flutter no tiene anuncios y no tengo problemas para descargar con los bloqueadores de anuncios instalados. ¿Quizás sus filtros de bloques de anuncios personalizados son demasiado restrictivos? El sitio en sí es de código abierto , si desea ver cómo ajustar sus filtros.
Otra alternativa es usar git clone
como se describe en la parte inferior de la página de descargas para obtener el canal maestro. Puedes usar eso, y luego usar flutter channel
para cambiar a otro canal si no quieres usar master.
Incorporar un nuevo usuario de macOS para acelerar el desarrollo y el proceso de instalación es arcaico y, en el mejor de los casos, confuso. brew install flutter
debería ser factible y respaldado por el equipo central como método de instalación oficial para flutter.
Dado que este problema se ha etiquetado con P6 , que es la prioridad más baja posible, supongo que no se resolverá pronto. Es bastante divertido, ya que este es uno de los problemas más comentados y activos en el repositorio.
@timsneath, ¿hay alguna forma de que podamos obtener más transparencia sobre cómo se priorizan estas solicitudes de la comunidad?
https://github.com/flutter/flutter/wiki/Triage
https://github.com/flutter/flutter/wiki/Issue-hygiene
hablar sobre los procesos.
Aunque nuestros equipos actualmente no tienen ancho de banda para abordar este problema, eso no significa que alguien más no pueda hacerlo. Este sería un esfuerzo mediano / grande, pero debería ser posible para un colaborador motivado.
Hay un montón de preguntas que imagino que necesitan respuesta aquí:
Feliz de discutir sobre prioridades (tal vez en otro foro), pero animo a mirar a través de qué otros errores están etiquetados como de mayor prioridad que este. Flutter tiene muchos usuarios y muchas solicitudes (a veces urgentes). Intentamos abordarlos en el orden de mayor impacto hacia nuestros objetivos / usuarios.
@eseidelGoogle ¡ Gracias por la aclaración y el bosquejo de la estrategia, es muy apreciado y superpoderoso!
Para responder a la pregunta sobre la actualización, creo que si el comando regular flutter update
no puede estar disponible para instalaciones que no sean de git, entonces eso debería ser lo suficientemente bueno. ¿Hay una manera de hacerlo? Idealmente, no sería otra distribución, solo una verificación en el código para ver si la ubicación del binario flutter tiene una carpeta .git
. es posible?
La fórmula también podría simplemente descargar el repositorio de git y ejecutar los comandos para un usuario. Las fórmulas no solo tienen que instalar binarios.
Como referencia, así es como lo hace rustup:
rustup , el administrador de la cadena de herramientas del lenguaje de programación Rust, se puede instalar ejecutando un script de instalación (instalación independiente) o desde un administrador de paquetes del sistema operativo. Cuando desee actualizar rustup, puede ejecutar rustup self update
para una instalación independiente, o actualizar a través del administrador de paquetes de su sistema operativo si instaló rustup a través del administrador de paquetes del sistema operativo. Si intenta ejecutar rustup self update
cuando rustup está instalado a través del administrador de paquetes del sistema operativo, le dará un error, por favor actualícelo desde el administrador de paquetes del sistema operativo. Realmente me gusta esta implementación, porque cuando instaló algo por primera vez a través de su administrador de paquetes del sistema operativo y lo actualizó utilizando la funcionalidad incorporada, puede quedar fuera de control del administrador de paquetes del sistema operativo y puede causar algunos errores desconocidos en el futuro.
Creo que la mejor manera de flutter es adoptar una implementación similar a la que hace rustup, pero este es un trabajo enorme (es necesario refactorizar muchas cosas para permitir que flutter pueda ser administrado por un administrador de paquetes del sistema) y puede requerir la ayuda de los miembros del equipo central de flutter. , así que solo doy mis sugerencias aquí y no espero que esto se pueda hacer pronto.
Sí, suena muuuucho más complicado que el supuesto 10 delineador al que se hizo referencia anteriormente en este hilo.
HASTA que haya más discusión sobre esto: http://flutter.dev/go/sdk-per-platform-installers
Comentario más útil
Entonces, en lugar de tener que instalar desde el toque personalizado de un usuario, ya sea @SpectralKH 's o @MiderWong ' s o @eclewlow 's, y luego tener que confiar y esperar que:
Mi sugerencia es hacer lo mismo que lo que ha hecho Dart donde Dart tiene un grifo de preparación llamado
dart-lang/dart
y se hace referencia en los documentos oficiales de Dart.Esto alinea a Flutter con Dart (considerando que son efectivamente proyectos hermanos) y mantiene las cosas consistentes y simples.
(Pensamiento de ducha: considerando que Flutter es un proyecto hermano de Dart y Flutter requiere Dart, ¿por qué no simplemente agruparlo como otra fórmula en el grifo
dart-lang
?)Supongo que mis preguntas son, como desarrollador no cervecero y quién es nuevo en esta discusión: