visual tutorial studio microsoft descargar community git bower firewall visual-studio-2015 git-config

git - tutorial - VS 2015+Bower: no funciona detrás del firewall



visual studio 2018 (12)

Problema

En Visual Studio 2015, usando bower, mi paquete restaura fallas cuando está detrás de un firewall con un error similar a:

ECMDERR no pudo ejecutar "git ls-remote --tags --heads git: //github.com/jzaefferer/jquery-validation.git", código de salida de # -532462766

He actualizado mi configuración de git para usar http lugar de git. Cuando corro desde mi línea de comando, el comando es exitoso:

Pero Visual Studio o uno de sus componentes parece estar usando git lugar de http independientemente.

Antecedentes y primer intento de resolver

Usando Visual Studio 2015 y Bower para la gestión de paquetes. Funciona muy bien cuando no está detrás de un firewall, pero cuando está detrás de un firewall no puedo usar el protocolo git:// .

La solución, documentada en muchos otros lugares en SO ( example ), es ejecutar:

git config --global url."http://".insteadOf git://

Hice esto, y ahora mi git config -l ve así:

ore.symlinks=false core.autocrlf=true color.diff=auto color.status=auto color.branch=auto color.interactive=true pack.packsizelimit=2g help.format=html http.sslcainfo=/bin/curl-ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe diff.astextplain.textconv=astextplain rebase.autosquash=true user.name=Sean Killeen [email protected] url.http://.insteadof=git://

Pero a pesar de esto, Visual Studio / npm no está respetando mi configuración o está usando una versión anterior en caché.

Segundo intento de resolver

Según este hilo sobre el problema de npm , vi que npm (que presumiblemente Bower está usando en VS) usa la sintaxis git@ . Aunque esto no es lo que vi en la salida, pensé que le daría una oportunidad.

Corrí:

git config --global url."https://github.com/".insteadOf [email protected]:

Luego reinicié Visual Studio, pero el problema aún persiste. La solución sobre la que leí probablemente nunca fue aplicable.

Alguna idea sobre como arreglarlo?


Ejecutar VS''s Bower desde la línea de comandos con una carpeta de inicio asignada

La respuesta dada por @Rogerio Soares es buena y creo que muchas personas la encontrarán muy útil (incluido yo mismo).

Dicho esto, aquí en el trabajo, las herramientas que puedo instalar son muy, muy restringidas (lo que significa que no puedo instalar otra versión de Bower sin obtener el permiso de muchas personas), además mi directorio de inicio está asignado a un recurso compartido de red en z:/ por política. Cada vez que git config --global para configurar git, los ajustes de configuración se colocarían en z:/.gitconfig . Este archivo de configuración se cumple muy bien con Git SCM completo. Aparentemente, sin embargo, libgit2sharp (utilizado por la versión de Git integrada con Visual Studio 2015) necesita que este archivo esté en c:/username/.gitconfig .

Entonces, después de copiar mi archivo .gitconfig de z:/ a c:/username/ , pude ejecutar la versión de Bower de Visual Studio directamente desde la línea de comandos.



Fue muy doloroso establecer correctamente la configuración del proxy. Comparto mi solución.

Trabajo en Windows 10 con Visual Studio 2015. Debo establecer la configuración del proxy cuando estoy en el trabajo y eliminarla en casa.

Para lograr esto, tienes 2 soluciones.

  1. Configure las herramientas externas de Visual Studio para usar la configuración adecuada
  2. Instale herramientas (nodo, npm, bower) en su máquina y úselas (puede configurar las opciones de Visual Studio para usarlas)

Solución 1 (Configurar herramientas externas VS)

  1. Configurar Npm. Ejecute el siguiente cmd en la solicitud de administración.

    > cd "C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/Extensions/Microsoft/Web Tools/External" > npm.cmd config set --global http_proxy http.proxy http://proxyuser:[email protected]:8080 > npm.cmd config set --global http_proxy http.proxy http://proxyuser:[email protected]:8080

  2. Configurar Git. Agregue un archivo .gitconfig ubicado en C: / Windows / Users /% USERNAME%. Luego agregue la siguiente clave / valor.

    [http] proxy = http://proxyuser:[email protected]:8080 [https] proxy = http://proxyuser:[email protected]:8080

  3. Configurar Bower. Agregue un archivo .bowerrc ubicado en C: / Windows / Users /% USERNAME%. Luego agregue la siguiente clave / valor.

    { "proxy": "http://proxyuser:[email protected]:8080", "https-proxy": "http://proxyuser:[email protected]:8080" }

ADVERTENCIA : si tiene caracteres especiales en su contraseña de proxy, debe codificar la URL del proxy. Ejemplo:

Et Voilà :)

Solución 2 (Instale herramientas en su máquina)

He instalado node.js, npm, git y bower a nivel mundial en mi máquina (porque necesito tener más control que solo herramientas externas / disponibles en VS).

  1. Instalar Node.js: sitio web de NodeJS
  2. Instalar Npm NOTA : Npm es instalado automáticamente por Node.js. (En otras palabras, deje que node.js lo instale por usted)
  3. Instalar Git: sitio web de Git Solo asegúrese de marcar esta opción para ejecutar el comando Git en el indicador de Windows
  4. Instalar Bower (globalement): npm install -g bower
  5. Configure Visual Studio Tools para usar nuevas herramientas instaladas. Para hacerlo, inicie Visual Studio => Herramientas => Opciones => Abrir nodo "Proyectos y soluciones" => Abrir Herramientas web externas => Desmarque "$ (DevEnvDir) / Extensiones / Microsoft / Herramientas web / Externo / git". Agregar nuevo "C: / Archivos de programa (x86) / Git / bin"
  6. Establecer la configuración del proxy. Ejecutar debajo de los scripts en PowerShell como administrador

He creado 2 scripts de PowerShell para que Windows establezca / desarme la configuración del proxy (Probado en Windows 10).

  • En el trabajo , necesito establecer la configuración del proxy.

    Ejecute > ./proxy.ps1 en un PowerShell

  • En casa , debo eliminar la configuración del proxy.

    Ejecute > ./proxy.disabled.ps1 en un PowerShell

proxy.ps1

# System Environment variable $env:HTTP_PROXY = "http://proxyuser:[email protected]:8080" $env:HTTPS_PROXY = "http://proxyuser:[email protected]:8080" # Fix (some tools uses lowercase env variables) $env:http_proxy = "http://proxyuser:[email protected]:8080" $env:https_proxy = "http://proxyuser:[email protected]:8080" # Git config git config --global http.proxy http://proxyuser:[email protected]:8080 git config --global https.proxy http://proxyuser:[email protected]:8080 # Npm config npm config set proxy http://proxyuser:[email protected]:8080 npm config set https-proxy http://proxyuser:[email protected]:8080 # Restart Windows Restart-Computer -Confirm

proxy.disabled.ps1

# Delete System Environment variable Remove-Item env:/HTTP_PROXY Remove-Item env:/HTTPS_PROXY Remove-Item env:/http_proxy Remove-Item env:/https_proxy # Reset Git Config git config --global --unset http.proxy git config --global --unset https.proxy # Reset Npm Config npm config --global delete proxy npm config --global delete https-proxy # Restart Windows Restart-Computer -Confirm

ADVERTENCIA : si tiene caracteres especiales en su contraseña de proxy, debe codificar la URL del proxy. Ejemplo:

ADVERTENCIA : UNSET PROXY => Algunas configuraciones de Bower se pueden anular en un archivo .bowerrc ubicado en C: / Users /% USERNAME%. En otras palabras, si no funciona, verifique si tiene un archivo .bowerrc. Luego, elimine las siguientes claves si existen:

{ ... "proxy": "http://proxyuser:[email protected]:8080", "https-proxy": "http://proxyuser:[email protected]:8080", ... }

ADVERTENCIA : UNSET PROXY => Algunas configuraciones nmp / node se pueden anular en un archivo npmrc ubicado en C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / Common7 / IDE / Extensions / Microsoft / Web Tools / External / node / etc . En otras palabras, si no funciona, verifique si tiene un archivo npmrc. Luego, elimine la siguiente clave si existen:

http_proxy="http://proxyuser:[email protected]:8080" https_proxy="http://proxyuser:[email protected]:8080"

Et Voilà :)



La solución que funcionó para mí con VS2015 Release es:

  1. Instale la herramienta de línea de comando git.
  2. Modifique el archivo C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / Common7 / IDE / Extensions / Microsoft / Web Tools / External / bower.cmd con este contenido:

    set PATH=C:/Program Files (x86)/Git/bin/;%PATH% git config --global url."http://".insteadOf git:// git config -l @"%~dp0/node/node" "%~dp0/bower/node_modules/bower/bin/bower" %*


La versión de Microsoft de git que está instalada (al menos con VS2015 Actualización 1) respeta el archivo .gitconfig, pero las herramientas que se instalan de manera predeterminada no le brindan una forma de manipularlo (como todas las otras respuestas muestran el uso de git config para arreglar el problema).

Para solucionar el problema sin instalaciones adicionales y demás, simplemente cree un archivo .gitconfig en C: / Users / YourUserName y coloque este contenido allí (que es el contenido que haría git config --global pero ya que no tiene un git .exe que puede cambiar la configuración, no puede usar eso sin instalar otra cosa que realmente no necesita)

[url "https://github.com/"] insteadOf = [email protected]: [url "https://"] insteadOf = git://


Mismo problema con VS 2015, mi solución:

  1. Instalar Git

    http://git-scm.com/

  2. Configure Git para usar http en lugar de git: // con Git Bash

    git config - url global. "http: //" .insteadOf git: //

    Editar (como lo señala g.pickardou) puede usar https para estar más seguro:

    git config - url global. " https : //" .insteadOf git: //

  3. Configure VS para usar el nuevo Git instalado sobre VS Git

    Haga clic derecho en la carpeta Bower (en Dependencias), luego seleccione "Configurar herramientas externas"

    Desmarque "$ (DevEnvDir) / Extensions / Microsoft / Web Tools / External / git"

    Agregue un nuevo nodo con "C: / Archivos de programa (x86) / Git / bin"

Espero que esto ayude a alguien,

Rogerio


Si quieres una solución global .

ADVERTENCIA : puede afectar varias configuraciones de proxy a través de diferentes aplicaciones, pero ciertamente es lo que desea :)

NOTA Si tiene caracteres especiales en su nombre de usuario: contraseña en la configuración de su proxy, debe URLENCODELOS. Ejemplo: http: //DOMAIN%5Cuser+name%3AP%40%24%[email protected]: 8080

Debe agregar 2 variables de entorno.

Para hacer eso en Windows 10:

  1. COMIENZO
  2. Buscar "Editar las variables de entorno del sistema"
  3. (en la pestaña avanzada de propiedades del sistema) haga clic en "Variables de entorno ...)
  4. (en la variable del sistema) haga clic en "Nuevo ..."
  5. Crear variable (nombre de la variable: HTTP_PROXY, valor de la variable: http: // proxyuser: [email protected]: 8080 )
  6. Crear variable (nombre de la variable: HTTPS_PROXY, valor de la variable: http: // proxyuser: [email protected]: 8080 )
  7. Reiniciar Windows

Si tiene un administrador de firewall amigable, pídale que permita el acceso a repositorios externos de git definiendo la siguiente política de firewall:

TCP 9418 (sin necesidad de UDP)


Tuve el mismo problema en Visual Studio 2015 RC (no CTP) y resolví.

El bower.cmd en 2015 RC no funciona bien, así que necesitaba deshabilitarlo en mi VS y usar el oficial instalado en mi PC. Es fácil hacerlo simplemente haga clic derecho en la carpeta "Bower" en el proyecto y seleccione "configurar herramientas externas" y luego desmarque la sección "$ (DevEnvDir) / Extensions / Microsoft / Web Tools / External / git".

También es posible que deba cambiar el archivo ".bowerrc" para que GIT funcione en la ruta correcta para su proyecto.

Después de hacer esto, todo funciona como se esperaba.


Tuve este mismo problema en Visual Studio 2015 RC (no CTP). Como este es el único hilo relevante que encontré en cualquier lugar, pensé que agregaría mi 2c aquí.

Ampliando la respuesta de @ MagicMau, las líneas a las que se hace referencia en bower.cmd no existen en 2015 RC, por lo que tomé un enfoque diferente y configuré la variable PATH env, de modo que todo mi archivo bower.cmd ahora se ve así:

set PATH=C:/Program Files (x86)/Git/bin/;%PATH% @"%~dp0/node/node" "%~dp0/bower/node_modules/bower/bin/bower" %*

Tenga en cuenta que la primera línea es lo que agregué, y la segunda línea era el contenido existente.

La primera vez que hice esto, Visual Studio se bloqueó durante la restauración del paquete, pero parece estar funcionando después de reiniciar VS.


Yo tuve el mismo problema. Aparentemente, el Git.exe con el que se incluye VS2015 CTP no usa .gitconfig. Pero puede arreglarlo (manualmente), si tiene las herramientas de línea de comando git instaladas en otro lugar.

En C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/Extensions/Microsoft/Web Tools/External , deberá editar el archivo bower.cmd .

Comente las líneas 4 y 5:

rem -- set GIT_PATH=%~dp0/git rem -- set PATH=%GIT_PATH%;%PATH%`

Esto activará el comando para usar el Git que ya instaló, que recogerá el .gitconfig local.

Asegúrese de haber configurado la configuración de git adecuada:

git config --global url."http://".insteadOf git://