Firebase-tools: Incapaz de implantar atrás de um proxy

Criado em 26 mai. 2016  ·  151Comentários  ·  Fonte: firebase/firebase-tools

Oi,

Estou seguindo o tutorial da web do firebase (https://codelabs.developers.google.com/codelabs/firebase-web/).
Tudo funciona bem nas 8 primeiras etapas, mas na etapa 9 eu tenho um problema: o comando firebase deploy trava indefinidamente.
Eu tenho esse comportamento enquanto estou atrás de um proxy (http_proxy e https_proxy são definidos no env).

Existe uma maneira de implantar por trás de um proxy?
Isso parece estar relacionado ao problema nº 36

Yann


Aqui está o resultado de firebase deploy --debug

----------------------------------------------------------------------
Command:      node /Users/ymainier/.nvm/versions/node/v0.12.1/bin/firebase deploy --debug
CLI Version:  3.0.0
Platform:     darwin
Node Version: v0.12.1
Time:         Wed May 25 2016 16:46:59 GMT+0200 (CEST)
----------------------------------------------------------------------

> command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase"]
>>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/friendlychat-dd6a6 
<<< HTTP RESPONSE 200 server=nginx, date=Wed, 25 May 2016 14:47:57 GMT, content-type=application/json; charset=utf-8, content-length=124, connection=close, x-content-type-options=nosniff, strict-transport-security=max-age=31536000; includeSubdomains, cache-control=no-cache, no-store
>>> HTTP REQUEST GET https://admin.firebase.com/v1/database/friendlychat-dd6a6/tokens 
<<< HTTP RESPONSE 200 server=nginx, date=Wed, 25 May 2016 14:47:57 GMT, content-type=application/json; charset=utf-8, content-length=433, connection=close, x-content-type-options=nosniff, strict-transport-security=max-age=31536000; includeSubdomains, cache-control=no-cache, no-store
p2 bug

Comentários muito úteis

Devs do Firebase resolvam este problema, é um sério atraso de desenvolvimento até o momento.

Todos 151 comentários

Este é um problema conhecido. Gostaríamos de encontrar uma solução alternativa, mas pode levar algum tempo. Vou deixar o problema em aberto.

Tenho o mesmo problema, a equipe do firebase acabou de me escrever isto:

"Não é possível no momento, rastreando aqui: https://github.com/firebase/firebase-tools/issues/155, mas sem cronograma para consertar."

Na verdade me referindo a esta página XP

Espero que isso seja corrigido em breve, já que muitos de nós, desenvolvedores, usamos essas ferramentas no trabalho

Eu tenho o mesmo problema. Torna difícil avaliar o firebase em muitos ambientes de trabalho. :( Além disso, tenho um problema com a minha rede de satélite em casa (abrindo um problema separado para isso): (_

Mesmo problema aqui ! Além disso, esse problema está lá com todas as funções do Firebase no Android, exceto autenticação.

Bem, consegui fazê-lo funcionar no meu trabalho, mas simplesmente não consigo fazer o login,

Eu também tentei fazer o ` firebase login --no-localhost mas isso resultou apenas em Error: Authentication Error.

mesmo problema ..

Eu já tive esse problema duas vezes ..

O tempo limite ocorre quando o módulo de nó do Firebase faz uma conexão usando faye-websockets , que não usa http_proxy e variáveis ​​de ambiente associadas.

Há um comentário no StackOverflow que descreve como codificar a configuração do proxy em faye-websockets como uma solução alternativa.

Não é elegante, mas pelo menos posso implantar agora :)

O mesmo problema aqui. Todos os outros comandos do firebase parecem funcionar bem. "firebase deploy" é o único que está travando. No mínimo, uma mensagem de erro adequada seria boa.

`` `

T: \ ngfirebaseutil> firebase deploy --debug

Comando: C: \ Arquivos de programas \ nodejs \ node.exe C: \ Users \ myusernameAppData \ Roaming \ npm \ node_modulesfirebase-tools \ binfirebase deploy --debug
Versão CLI: 3.2.1
Plataforma: win32
Versão do nó: v7.3.0

Horário: Quarta, 25 de janeiro de 2017 11:04:37 GMT-0500 (Horário Padrão do Leste)

comando requer escopos: ["email", "openid", " https://www.googleapis.com/auth/cloudplatformprojects.readonly ", " https://www.googleapis.com/auth/firebase "]

HTTP REQUEST GET https://admin.firebase.com/v1/projects/myprojectname-b5558
<<< HTTP RESPONSE 200 via = IG Proxy, date = Wed, 25 Jan 2017 16:04:38 GMT, server = nginx, connection = Close, content-type = application / json; charset = utf-8, cache-control = no-cache, no-store, content-length = 103, x-content-type-options = nosniff, strict-transport-security = max-age = 31536000; includeSubdomains
HTTP REQUEST GET https://admin.firebase.com/v1/database/myprojectname-b5558/tokens
<<< HTTP RESPONSE 200 via = IG Proxy, date = Wed, 25 Jan 2017 16:04:38 GMT, server = nginx, connection = Close, content-type = application / json; charset = utf-8, cache-control = no-cache, no-store, content-length = 423, x-content-type-options = nosniff, strict-transport-security = max-age = 31536000; includeSubdomains```
<>

quando eu "firebase login", há o problema ... Resolvi "firebase login --no-localhost" por enquanto. Mas "firebase init" e "firebase deploy" não consigo consertar. Sempre "Erro de autenticação"

mesmo problema..

Um ano e ainda sem conserto?

Vamos, googol malvado ..

O mesmo problema aqui. Aqui está o comando que estou chamando e obtenho o mesmo erro:

firebase database:set /object_name

Mesmo problema aqui !!!!

"Erro: Erro de autenticação: suas credenciais não são mais válidas. Execute firebase login --reauth
Para servidores CI e ambientes sem periféricos, gere um novo token com firebase login: ci "

não há como implantar por trás do proxy?

é meu log

[debug] ----------------------------------------------------------------------
[debug] Command:      C:\Program Files\nodejs\node.exe C:\Users\SDS\AppData\Roaming\npm\node_modules\firebase-tools\bin\firebase deploy
[debug] CLI Version:  3.6.1
[debug] Platform:     win32
[debug] Node Version: v7.8.0
[debug] Time:         Mon Apr 17 2017 13:35:27 GMT+0900 (대한민국 표준시)
[debug] ----------------------------------------------------------------------
[debug] 
[debug] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[debug] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token { refresh_token: '1/cLqub4wdfbPJfm6Rswlzb8L2uA7zXG1SrmTLx17kZ1w',
  client_id: '563584335869-fgrhgmd47bqne........................apps.googleusercontent.com',
  client_secret: 'j9iVZfS8kkCEFU.........',
  grant_type: 'refresh_token',
  scope: 'email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/firebase openid' } 
 Mon Apr 17 2017 13:35:27 GMT+0900 (대한민국 표준시)
[debug] <<< HTTP RESPONSE 200
[debug] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/sample-b36e9  
 Mon Apr 17 2017 13:35:29 GMT+0900 (대한민국 표준시)
[debug] <<< HTTP RESPONSE 200
[debug] >>> HTTP REQUEST GET https://admin.firebase.com/v1/database/sample-b36e9/tokens  
 Mon Apr 17 2017 13:35:30 GMT+0900 (대한민국 표준시)
[debug] <<< HTTP RESPONSE 200

@tingxins oi, você tentou após o comando abaixo?

set "NODE_TLS_REJECT_UNAUTHORIZED=0"

Devs do Firebase resolvam este problema, é um sério atraso de desenvolvimento até o momento.

Por que não foi resolvido até agora?

um ano

Ainda acontece e continua me incomodando ... Talvez eu desista do firebase porque estou na China ...

Mesmo problema...

Mesmo problema

Mesmo problema...

Mesmo problema.
Trabalho com suporte há 3 meses e sem ajuda.
Finalmente tive a ideia de desinstalar o CovenantEyes, que deve ter um proxy,
então o login não funcionou.
Acho que deve haver vários aplicativos que causam esse problema.

Finalmente consegui o Woohoo!

capture120

Eu descobri uma solução possível que funciona para os usuários proxy Shadowsocks (Windows 10 Pro).

1, execute "firebase logout" no modo Shadowsocks PAC;

2, execute "firebase login" no modo Shadowsocks PAC;

3, mude para o modo global Shadowsocks (que redireciona todas as suas solicitações para o serviço remoto);

4, tente “firebase list” para ver se o erro de autenticação aparece ou não.

Isso funciona para mim, mas não tenho certeza se ajuda ou não para você. Vale a pena tentar.

#

SOLUÇÃO

#
  1. execute ' firebase login --interactive ' para fazer login na conta @gmail .

Isso funciona!!!

@WbTOne Já tentei isso. Não funcionou no meu caso.

ainda não funciona

Até quando a solução senhores do Firebase

Ei, irmão lá em cima, você fala inglês?

aguardando solução oficial ... este problema tem PRIORIDADE CRÍTICA

Eu só posso contar com Boa sorte ao depurar, cansado de tentar novamente o login de novo e de novo, isso atrasou seriamente meu projeto, eu tenho que construir meu próprio servidor agora.

Para mim, funciona de novo quando eu saio totalmente do Chrome e o abro novamente

Eu realmente não posso acreditar que isso não seja corrigido em quase um ano e meio.

É sempre assim se você for um desenvolvedor de Android que mora na China.

Só espero que o Google Play volte um dia.

queria dizer que eu também tenho o problema
e este é firebase-debug

[debug] [2017-10-09T17: 46: 10.778Z] ----------------------------------- -----------------------------------
[debug] [2017-10-09T17: 46: 10.780Z] Comando: C: \ Arquivos de programas \ nodejs \ node.exe C: \ Users \ HamidrezaAppData \ Roaming \ npm \ node_modulesfirebase-tools \ binfirebase list
[depurar] [2017-10-09T17: 46: 10.781Z] Versão CLI: 3.13.1
[depurar] [2017-10-09T17: 46: 10.781Z] Plataforma: win32
[debug] [2017-10-09T17: 46: 10.781Z] Versão do nó: v6.11.4
[debug] [2017-10-09T17: 46: 10.781Z] Horário: Seg, 09 de outubro de 2017 21:16:10 GMT + 0330 (Horário padrão do Irã)
[depurar] [2017-10-09T17: 46: 10.781Z] ----------------------------------- -----------------------------------
[depurar]
[debug] [2017-10-09T17: 46: 10.794Z]> O comando requer escopos: ["email", "openid", "https://www.googleapis.com/auth/cloudplatformprojects.readonly", "https: //www.googleapis.com/auth/firebase "]
[debug] [2017-10-09T17: 46: 10.795Z]> autorizando por meio de usuário conectado
[debug] [2017-10-09T17: 46: 10.797Z]> atualizando o token de acesso com escopos: ["email", "https://www.googleapis.com/auth/cloudplatformprojects.readonly", "https: // www.googleapis.com/auth/firebase","openid "]
[debug] [2017-10-09T17: 46: 10.797Z] >>> POST DE PEDIDO DE HTTP https://www.googleapis.com/oauth2/v3/token {refresh_token: '1 / OU1dLTZhJUpNdtDzicGy1xtthchW9wu84awgkUkEmGU',
client_id: '563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com',
client_secret: 'j9iVZfS8kkCEFUPaAeJV0sAi',
grant_type: 'refresh_token',
escopo: 'email https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/firebase openid'}
Seg, 09 de outubro de 2017 21:16:10 GMT + 0330 (Horário padrão do Irã)
[depuração] [2017-10-09T17: 46: 11.815Z] <<< RESPOSTA HTTP 200
[debug] [2017-10-09T17: 46: 11.829Z] >>> SOLICITAÇÃO DE HTTP GET https://admin.firebase.com/v1/projects
Seg, 09 de outubro de 2017 21:16:11 GMT + 0330 (Horário padrão do Irã)
[depurar] [2017-10-09T17: 46: 33.060Z] Erro: conectar ETIMEDOUT 104.197.85.31:443
em Object.exports._errnoException (util.js: 1020: 11)
em exportações._exceptionWithHostPort (util.js: 1043: 20)
em TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1090: 14)
[erro]
[erro] Erro: Erro do servidor. conectar ETIMEDOUT 104.197.85.31:443
[depurar] [2017-10-09T17: 46: 47.934Z] ----------------------------------- -----------------------------------
[debug] [2017-10-09T17: 46: 47.937Z] Comando: C: \ Arquivos de programas \ nodejs \ node.exe C: \ Users \ HamidrezaAppData \ Roaming \ npm \ node_modulesfirebase-tools \ binfirebase list
[debug] [2017-10-09T17: 46: 47.937Z] Versão CLI: 3.13.1
[depurar] [2017-10-09T17: 46: 47.937Z] Plataforma: win32
[debug] [2017-10-09T17: 46: 47.937Z] Versão do nó: v6.11.4
[depurar] [2017-10-09T17: 46: 47.938Z] Horário: Seg, 09 de outubro de 2017 21:16:47 GMT + 0330 (Horário padrão do Irã)
[debug] [2017-10-09T17: 46: 47.938Z] ----------------------------------- -----------------------------------
[depurar]
[debug] [2017-10-09T17: 46: 47.951Z]> O comando requer escopos: ["email", "openid", "https://www.googleapis.com/auth/cloudplatformprojects.readonly", "https: //www.googleapis.com/auth/firebase "]
[debug] [2017-10-09T17: 46: 47.951Z]> autorizando por meio de usuário conectado
[debug] [2017-10-09T17: 46: 47.955Z] >>> SOLICITAÇÃO DE HTTP GET https://admin.firebase.com/v1/projects
Seg, 09 de outubro de 2017 21:16:47 GMT + 0330 (Horário padrão do Irã)
[depurar] [2017-10-09T17: 47: 09.030Z] Erro: conectar ETIMEDOUT 104.197.85.31:443
em Object.exports._errnoException (util.js: 1020: 11)
em exportações._exceptionWithHostPort (util.js: 1043: 20)
em TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1090: 14)
[erro]
[erro] Erro: Erro do servidor. conectar ETIMEDOUT 104.197.85.31:443

Eu tenho o mesmo problema, resolva-o!

Mesmo problema, resolva-o, não é possível conectar ao Firebase ao usar proxy :(

O mesmo problema aqui.
Sou forçado a implantar em casa ...: D

Eu tenho o mesmo problema, resolva-o!

Use o proxy no roteador. (Shadowsocks)
Meu computador está conectado a este roteador.

image

A conta do Google de login do Android Studio também está disponível.

image

Este bug P2 vive por um ano e meio.

eu tenho o mesmo problema aqui :(

acabei de encontrar o mesmo problema aqui

Isso funcionou para mim!

definir "NODE_TLS_REJECT_UNAUTHORIZED = 0"

Também não é possível implantar

[debug] [2017-10-31T15:00:41.884Z] ----------------------------------------------------------------------
[debug] [2017-10-31T15:00:41.884Z] Command:       C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\firebase-tools\bin\firebase deploy
[debug] [2017-10-31T15:00:41.884Z] CLI Version:   3.14.0
[debug] [2017-10-31T15:00:41.884Z] Platform:      win32
[debug] [2017-10-31T15:00:41.884Z] Node Version:  v6.11.4
[debug] [2017-10-31T15:00:41.884Z] Time:          Tue Oct 31 2017 13:00:41 GMT-0200 (Horário brasileiro de verão)
[debug] [2017-10-31T15:00:41.884Z] ----------------------------------------------------------------------
[debug] 
[debug] [2017-10-31T15:00:41.904Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2017-10-31T15:00:41.904Z] > authorizing via signed-in user
[debug] [2017-10-31T15:00:41.904Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[debug] [2017-10-31T15:00:41.904Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token { refresh_token: '1/*************************************************************************************',
  client_id: '*************************************************************.com',
  client_secret: '*******************************',
  grant_type: 'refresh_token',
  scope: 'email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/firebase openid' } 
 Tue Oct 31 2017 13:00:41 GMT-0200 (Horário brasileiro de verão)
[debug] [2017-10-31T15:00:42.285Z] <<< HTTP RESPONSE 200
[debug] [2017-10-31T15:00:42.315Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/where2party-51f6a  
 Tue Oct 31 2017 13:00:42 GMT-0200 (Horário brasileiro de verão)
[debug] [2017-10-31T15:00:43.194Z] <<< HTTP RESPONSE 200
[debug] [2017-10-31T15:00:43.194Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/database/where2party-51f6a/tokens  
 Tue Oct 31 2017 13:00:43 GMT-0200 (Horário brasileiro de verão)
[debug] [2017-10-31T15:00:44.238Z] <<< HTTP RESPONSE 200

Confirmando que isso funciona

solução de trabalho confirmada:

  1. set env var http_proxy visto que ainda é necessário (e sendo respeitado) por request
  2. hackear faye-websocket/lib/faye/websocket/client.js :
...
var Client = function(_url, protocols, options) {
  options = options || {};

  options.proxy = {
    origin:  'http://localhost:1087',
  }
...
  1. definir NODE_TLS_REJECT_UNAUTHORIZED=0
  2. não confie em rótulos de problemas como p2

@namiwang não funciona para mim :(

A principal diferença é que utilizo usuário / senha:

var Client = function(_url, protocols, options) {
  options = options || {};

  options.proxy = {
    origin:  'http://user:[email protected]:port',
  }

E quando você diz set NODE_TLS_REJECT_UNAUTHORIZED=0 , o comando no linux é export NODE_TLS_REJECT_UNAUTHORIZED=0 , certo?

Parece que isso deve ser uma coisa tão simples de consertar. Me atrasando muito ...

  1. O login do Firebase não funciona em laptops corporativos, apenas Windows.
    Firebase: 3.16.0
    Npm: 5.3.0
    Windows: 7, x64
    Proxy: http://proxy.XXXXXXX.com : 80

  2. Tentei instalar e fazer o login do meu laptop doméstico e funcionou.
    Windows: 10, x64

  3. Temos proxy corporativo, mas por algum motivo ele se torna um problema apenas em laptops com Windows, laptops corporativos tentados com MacOS e "firebase login" funciona bem com eles.

  4. Depois de desabilitar alguns manipuladores de erro no arquivo abaixo, o navegador diz que o URL http: // localhost : 9005 não está disponível, então provavelmente não é apenas um proxy, mas sim alguma porta fechada pelo Firewall do Windows .
    C: \ Usuários \AppData \ Roaming \ npm \ node_modulesfirebase-tools \ lib \ api.js

  5. Informações de depuração
    https://i.imgur.com/lslydoN.png

Atualizar. Acabei de fazer o login funcionar.

1) execute Git Bash ou qualquer ferramenta de linha de comando semelhante ao Linux
2) execute esses comandos, substitua por seu proxy

exportar HTTP_PROXY = " http://proxy.XXXXXXXX.com : 80 /"
exportar HTTPS_PROXY = " http://proxy.XXXXXXXX.com : 80 /"

3) depois disso, consegui fazer o login usando

firebase login --interactive

4) links úteis

https://github.com/firebase/firebase-tools/issues/36#issuecomment -66696746
https://www.npmjs.com/package/request#controlling -proxy-behavior-using-environment-variables

Quanto ao "firebase deploy" - ainda tenho esse problema. Sem erros, ele apenas trava.

Não estou executando atrás de um proxy, mas estou vendo este problema. Estou recebendo o seguinte erro ao implantar o código.
** Erro: Erro do servidor. conectar ETIMEDOUT 172.217.31.202:443

Então, fiz "firebase login --reauth" e forneci as credenciais corretas, mas quando executei "firebase list" recebi o seguinte erro, embora tenha feito o login com sucesso.
** Erro: Erro de autenticação: Suas credenciais não são mais válidas. Execute firebase login --reauth

Então, segui as seguintes etapas para resolver o problema.
firebase logout
firebase login -> Login bem-sucedido
firebase list -> posso ver meus aplicativos
firebase deploy -> Posso implantar o código com sucesso.

Surgiu para mim quando trabalhava na Internet de um hotel ...

Sentado na frente do meu laptop, enfrentando o mesmo erro, continue e continue novamente.

O mesmo para mim, muito triste implantar não está funcionando atrás de um proxy :-(.
As ferramentas do Firebase ainda são fantásticas

Eu resolvo isso via SSH.

Eu tenho um VPS, então clonei meu projeto nele e entrei no Firebase.
Assim que precisar implantar novas funções, basta invocar um script remoto via SSH.

Aqui estão alguns scripts:

  • deployFunctionsRemote.sh em local

    #!/usr/bin/env bash
    
    # funDir point to your functions directory
    funDir=${PROJECT}/functions
    
    # Using rsync cmd to upload local changes to the remote project
    # Excluding node_modules directory is recommend
    cmdLine="rsync -avzPr --rsh='ssh -p ${REMOTE_PORT}' --exclude=node_modules ${funDir} ${REMOTE_USR}@${REMOTE_IP}:${REMOTE_PROJECT}"
    eval ${cmdLine}
    
    # Invoke remote deploy script
    remoteDeployScript=${REMOTE_PROJECT}/deployFunctions.sh
    ssh -p ${REMOTE_PORT} ${REMOTE_USR}@${REMOTE_IP} "${remoteDeployScript}"
    
  • deployFunctions.sh em remoto

    #!/usr/bin/env bash
    firebase deploy --only functions
    

Mesmo problema :(

o mesmo aqui
Resolvi isso compartilhando minha rede móvel ...

lol, login de dois anos não funcionou

precisamos de uma opção de proxy nas ferramentas do Firebase quando firebase login

https://github.com/firebase/firebase-tools/issues/155#issuecomment -349345985

funciona para mim.
abra o console, digite export variáveis ​​com opções de proxy de minha empresa
e insira firebase login --no-localhost
e abra o navegador, faça login via google, copie o token e coloque-o no console
e trabalhar!)

Tudo, exceto a implantação para hospedagem, deve funcionar por trás de um proxy por
configuração de variáveis ​​de ambiente. Tudo o que não, forneça um
relatório detalhado.

No domingo, 28 de janeiro de 2018, 12h54, Sergey S. Volkov notificaçõ[email protected]
escrevi:

155 (comentário)

https://github.com/firebase/firebase-tools/issues/155#issuecomment-349345985

funciona para mim.
abra o console, insira variáveis ​​de exportação com opções de proxy de minha empresa
e digite firebase login --no-localhost
e abra o navegador, faça login via google, copie o token e coloque-o no console
e trabalhar!)

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/firebase/firebase-tools/issues/155#issuecomment-361095081 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAAD_kJ7g2hTyHtLlfnTUK3VCUxY046Iks5tPN6OgaJpZM4InPdh
.

Quando defino HTTP_PROXY e forneço autenticação no URL do proxy, recebo um erro de servidor socket de tunelamento não pôde ser estabelecido, statusCode = 407 erro

Ok, eu consigo fazer algo como

Aqui estão algumas informações sobre as versões que utilizo.
nó: 7.5.0
npm: 4.1.2
firebase: 3.13.1

firebase-tools é instalado globalmente, então eu tenho que modificar as configurações de proxy onde firebase-tools está instalado.
No meu caso, está em ~ / .nvm / versions / node / v7.5.0 / lib / node_modules / firebase-tools

1) Abra o arquivo ~ / .nvm / versions / node / v7.5.0 / lib / node_modules / firebase-tools / node_modules / firebase / node_modules / faye-websocket / lib / faye / websocket / client.js

2) Modificar linhas

  options = options || {};
  this.url     = _url;

para

  options = options || {};
  options.proxy = {
    origin: 'http://user:[email protected]:3128',
    headers: {'User-Agent': 'node'},
  };
  this.url     = _url;

3) Vá em seu projeto e inicie o comando firebase para implantar

cd ~/workspace/myProject/functions
firebase deploy --only functions

Legal. Podemos fazer algo assim?

if (process.env.HTTP_SERVER) {
   options.proxy = {
      origin: process.env.HTTP_SERVER,
      headers: { 'User-Agent': 'node' }
   };
}

Obrigado @namiwang por sua ajuda. funcionou para mim ...

O "deploy hang" ainda é um problema e não pode ser corrigido definindo proxy env var ... alguma solução para isso?

É inaceitável, depois de dois anos, esse problema ainda não foi resolvido? com que?

@LastStranger, tente isso https://github.com/firebase/firebase-tools/issues/155#issuecomment -349345985

Mas eu uso a sinalização firebase login --no-localhost no-localhost

@ js2me export HTTPS_PROXY = " http://proxy.XXXXXXXX.com : 80 /" ??? Tentei executar isso no meu PowerShell e cmd, mas parece que não foi possível remover o "export"

@LastStranger Hmm, é estranho. Você tenta fazer isso no git bash?

como definir NODE_TLS_REJECT_UNAUTHORIZED=0 no Windows

compartilhar minha solução para quem trabalha dentro e quer morar fora do GFW.

Env: MacOS com shadowocks-ng

~ / .bash_profile

alias cbrew="ALL_PROXY=socks5://127.0.0.1:1086 brew"

# using polipo
alias cfirebase="http_proxy=http://127.0.0.1:8123 firebase"

# your shadowsocks may already have http proxy feature
alias cfirebase="http_proxy=http://127.0.0.1:1087 firebase"

proxy http polipo up (opcional)

cbrew install polipo
polipo socksParentProxy=localhost:1086 &

Conecte-se

cfirebase login --debug

polyfill faye-websocket

Obrigado @namiwang , funciona.

porque o firebase sdk 2.xx foi reduzido, então ... polyfill faye-websocket é mais fácil do que consertar sdk.

// if you installed node by brew, the path would be /usr/local/lib/node_modules/firebase-tools/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/client.js
...
var proxy_uri = process.env.http_proxy
if (proxy_uri) {
  options.proxy = { origin: proxy_uri }
}
...

implantar

cfirebase deploy --only functions --debug

Na verdade, o Firebase sdk mais recente já corrigiu o bug. Aguardando firebase-tools up deps to date ...

É 2018, ainda sem conserto, parece que eles não o mantêm.

Não funciona

É desconfortável e não resolveu ...?

@victorsferreira

Resolvi isso compartilhando minha rede móvel ...

Isso também resolveu meu problema de "implantar funções".

Ser Google, Google. Outro bug crítico que não será resolvido.

Como chineses, se precisarmos acessar o google, devemos usar proxy !!! Por causa do GWF

Uma solução poderia ser mudar para outro país 💃

Isso também é útil para implantações de CI

então, eu tenho que desistir de usar o firebase? Na China, sem proxy não consigo nem pesquisar no google. Como se tivesse visto um bolo de cristal, não consigo comer.

Espero ter boas notícias nesta frente quando alguma infraestrutura funcionar
estamos fazendo agora vem. Não tenho um cronograma específico para fornecer,
Contudo.

Desculpe pela longa demora em abordar este problema, tem sido muito mais
complicado do que você pensa.

Na sexta-feira, 29 de junho de 2018, 1h12, noobhui [email protected] escreveu:

então, eu tenho que desistir de usar o firebase? Na China, sem proxy não posso
até mesmo pesquisar no google. Como se tivesse visto um bolo de cristal, não consigo comer.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/firebase/firebase-tools/issues/155#issuecomment-401282471 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAAD_hDs8s1zUkv3-8QFYSxcvCFrNFs2ks5uBeFagaJpZM4InPdh
.

Até onde eu sei, só é necessário a patched firebase sdk v2 , pode passar o env.http_proxy para o módulo faye-websocket, ou up sdk to date (v4)

Você se importaria de nos dizer por que é muito mais complicado do que pensamos?
Talvez possamos ajudar.

Obrigado.

Para quem tem o problema no Windows: este comentário funciona no Linux ( export é um comando do Linux), mas você pode fazer com que funcione no Windows.

Comece instalando o Cmder , que é um emulador de console simples. Em seguida, você terá que executar um shell bash (não um PowerShell, não um shell cmd, um shell bash).

Depois de fazer o shell bash, você pode realmente executar esses dois comandos:

export HTTP_PROXY="your proxy"
export HTTPS_PROXY="your proxy"

Que configurará seu proxy do Windows (não sei como, não achei o que ele fazia nas variáveis ​​env ou nas opções da internet). A partir disso, o firebase pode simplesmente ser executado com firebase login sem mais problemas.

Tentei todas as soluções para esse problema (exceto modificar a biblioteca, não sou um selvagem: D), e esta é a única que funcionou para mim. Eu espero que isso ajude !

enfrentando o mesmo problema ... quando o google resolverá isso?

Eu tenho o mesmo problema, eu loguei no Firebase -CLI por firebase login e então tentei executar firebase use --add na minha linha de comando para escolher meu projeto apropriado e caí neste erro:

Erro: Erro do servidor. conectar ETIMEDOUT 104.197.85.31:443

ficando bravo com esse erro. Quando pudermos consertar. Não consigo concluir meu projeto com o firebase :(

Não funciona para mim também. Tentei várias soluções, mas não acredito que o Firebase não consegue lidar com proxies.

Depois de um ano ainda recebendo o mesmo erro., A quem culpar China Firewall ou Google Firebase ..,

`? Permitir que o Firebase colete informações anônimas de uso da CLI e relatórios de erros? (S / n)

PS C: \ Users \ murugan_nagarajan> firebase login --debug
[2018-08-10T07: 22: 00.621Z] -------------------------------------- --------------------------------
[2018-08-10T07: 22: 00.626Z] Comando: C: \ Arquivos de programas \ nodejs \ node.exe C: \ Users \ murugan_nagarajanAppData \ Roaming \ npm \ node_modulesfirebase-tools \ binfirebase login --debug
[2018-08-10T07: 22: 00.627Z] Versão CLI: 4.0.3
[2018-08-10T07: 22: 00.627Z] Plataforma: win32
[2018-08-10T07: 22: 00.627Z] Versão do nó: v10.8.0
[2018-08-10T07: 22: 00.629Z] Horário: Sex. 10 de agosto de 2018 15:22:00 GMT + 0800 (Horário padrão da China)
[2018-08-10T07: 22: 00.630Z] -------------------------------------- --------------------------------

? Permitir que o Firebase colete informações anônimas de uso da CLI e relatórios de erros? Não

Visite este URL em qualquer dispositivo para fazer login:
https://accounts.google.com/o/oauth2/auth?client_id=563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com&scope=email%20openid%20https%3A%2F%2Fwww.googleapis.com%2F%2Fwww.googleapis.com%2F
oudplatformprojects.readonly% 20https% 3A% 2F% 2F www.googleapis.com% 2Fauth% 2Ffirebase% 20https% 3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fcloud-platform & response_type = code & state = 452226808 & redirect_type = code & state = 452226808
p% 3A% 2F% 2Flocalhost% 3A9005

Aguardando autenticação ...
[2018-08-10T07: 22: 48.312Z] >>> POSTAGEM DO PEDIDO DE HTTP https://accounts.google.com/o/oauth2/token
{código:
'4 / NwD80jRUIDzAwBxmuqqIQxaOPyLfiOUL1Yx5eKGKzqtnfk88q4anmyxTozeLKQEE9DOxPuMklrrc42teX491Kuw',
ID do Cliente:
'563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com',
client_secret: 'j9iVZfS8kkCEFUPaAeJV0sAi',
redirect_uri: ' http: // localhost : 9005',
grant_type: 'autorização_code'}
Sexta-feira, 10 de agosto de 2018, 15:22:48 GMT + 0800 (horário padrão da China)
[2018-08-10T07: 22: 48.455Z] Erro de busca de token: erro
no novo FirebaseError (C: \ Users \ murugan_nagarajanAppData \ Roaming \ npm \ node_modulesfirebase-tools \ lib \ error.js: 11: 16)
em Request._callback (C: \ Users \ murugan_nagarajanAppData \ Roaming \ npm \ node_modulesfirebase-tools \ lib \ api.js: 35: 11)
em self.callback (C: \ Users \ murugan_nagarajanAppData \ Roaming \ npm \ node_modulesfirebase-tools \ node_modulesrequestrequest.js: 185: 22)
em Request.emit (events.js: 182: 13)
em Request.EventEmitter.emit (domain.js: 442: 20)
em Request.onRequestError (C: \ Users \ murugan_nagarajanAppData \ Roaming \ npm \ node_modulesfirebase-tools \ node_modulesrequestrequest.js: 877: 8)
em ClientRequest.emit (events.js: 182: 13)
em ClientRequest.EventEmitter.emit (domain.js: 442: 20)
em TLSSocket.socketErrorListener (_http_client.js: 382: 9)
em TLSSocket.emit (events.js: 182: 13)
^ CTerminar trabalho em lote (S / N)? `

Certo pessoal, é hora de corrigir esse bug de uma vez por todas! Com o lançamento de v4.1.0 , a Firebase CLI não depende mais de uma conexão de websocket para implantações de Hosting. Isso significa que tudo é feito por meio de solicitações HTTP padrão, que devem ser facilmente feitas para funcionar com proxies.

Vou tentar fazer com que um proxy de teste seja executado localmente para trabalhar nisso sozinho, mas para os afetados:

  1. v4.1.0 "simplesmente funciona" ou você ainda está tendo erros?
  2. A configuração da variável de ambiente HTTPS_PROXY funciona para você?

Sei que foi um longo caminho, mas (espero) chegará ao fim em breve. Relate a sua experiência com o 4.1.0 e começaremos a trabalhar nos problemas restantes!

@mbleigh posso confirmar que funciona bem com HTTPS_PROXY definido em 4.1.0 . 👍

Atualização : ontem também me encontrei preso. Você pode vê-lo preso aqui com --debug habilitado:

[2018-08-17T15:50:53.061Z] <<< HTTP RESPONSE 200 server=nginx, date=Fri, 17 Aug 2018 15:50:52 GMT, content-type=application/json; charset=utf-8, content-length=255, connection=close, x-content-type-options=nosniff, strict-transport-security=max-age=31536000; includeSubdomains, cache-control=no-cache, no-store

Depois de atualizar para 4.1.2 , tudo parece bem para mim agora.

atualizado para v4.1.0, defina também HTTPS_PROXY.
firebase login, logout, list funcionam bem, mas a implantação ainda travou após obter o token.

depois de atualizar para v4.1.0 e configurar o login HTTP_PROXY funciona ... mas travou no Firebase deploy

Pessoal que está criando relatórios, você pode incluir as últimas linhas de seus logs de depuração ( omitindo quaisquer tokens de autenticação ) rodando com --debug , bem como o tipo de proxy que está executando (se você o souber )

Fizemos algumas atualizações adicionais em v4.1.2 que podem corrigir firebase deploy problemas de proxy. Experimente e me diga se não estiver funcionando.

@mbleigh que tipos de proxy o firebase suporta? Por exemplo, o comando gcloud suporta os tipos de proxy http, http_no_tunnel, socks4, socks5. Em meu teste, a versão mais recente do firebase ainda não oferece suporte ao socks5.

O firebase usa request como sua biblioteca cliente http? Suporta o tipo de proxy http / https, mas não sei se suporta outros tipos como socks5.

No firebase v4.2.0 , você pode adicionar um servidor proxy ao servidor connent.

edite o request.js localizado em $NODE_PATH/node_modules/request/request.js:290

// line 290 to 298
 // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = 'http://127.0.0.1:1087'    // add proxy server
  self.tunnel = self._tunnel.isEnabled()

  if (self.proxy) {
    self._tunnel.setup(options)
  }

Portanto, o Login é um sucesso! 😃


Não se esqueça de excluir a configuração do servidor proxy após o sucesso do login.

@ chen86860 Não, você não modifica o código-fonte agora, apenas exporte o proxy em seu ambiente:

$ export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;

@hanguokai atualmente temos suporte para http_proxy e https_proxy variáveis ​​de ambiente (mas nada mais). Acho que o suporte para socks4 socks5 provavelmente deveria ir em uma solicitação de recurso diferente - sinta-se à vontade para registrar uma!

Tudo bem, adicionei outro problema # 883 para suporte de proxy de meias.

Sei que alguns aplicativos também oferecem suporte a variáveis ​​de ambiente para proxy socks, como:
export http_proxy=socks5://127.0.0.1:1080 https_proxy=socks5://127.0.0.1:1080

Espero que o comando firebase também o suporte.

Oi,
Confirmo que em meu ambiente esse bug foi corrigido com v4.1.2

OK pessoal, é aqui que estamos:

Acho que agora temos suporte para proxies HTTP e HTTPS por meio da configuração das variáveis ​​de ambiente corretas. Vou encerrar este problema com base no feedback que recebi de que nossos lançamentos recentes abordaram o problema.

Se você estiver usando um proxy socks, por favor, deixe um voto positivo para # 883. Se você ainda estiver tendo problemas com um proxy HTTP / S e configurou corretamente as variáveis ​​de ambiente HTTP_PROXY e HTTPS_PROXY , por favor, comente neste tópico com o máximo de detalhes que puder fornecer.

@chenxsan Oh, parece a melhor maneira de consertar isso, obrigado ~ 😆

firebase login --no-localhost

Este comando corrigiu para mim por trás do proxy

No firebase v4.2.0 , você pode adicionar um servidor proxy ao servidor connent.

edite o request.js localizado em $NODE_PATH/node_modules/request/request.js:290

// line 290 to 298
 // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = 'http://127.0.0.1:1087'    // add proxy server
  self.tunnel = self._tunnel.isEnabled()

  if (self.proxy) {
    self._tunnel.setup(options)
  }

Portanto, o Login é um sucesso! 😃

Não se esqueça de excluir a configuração do servidor proxy após o sucesso do login.

Ótimo!!!

@ chen86860 Não, você não modifica o código-fonte agora, apenas exporte o proxy em seu ambiente:

$ export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;

Acabei de executar o script no terminal, mas ainda recebo o mesmo erro. O que há de errado aí?
yongjiamingdeMacBook- Pro: firebase yongjiaming $ firebase login --debug
[2018-09-18T03: 33: 08.860Z] -------------------------------------- --------------------------------
[2018-09-18T03: 33: 08.863Z] Comando: /usr/local/Cellar/node/9.6.1/bin/node / usr / local / bin / firebase login --debug
[2018-09-18T03: 33: 08.864Z] Versão CLI: 4.2.1
[2018-09-18T03: 33: 08.864Z] Plataforma: darwin
[2018-09-18T03: 33: 08.864Z] Versão do nó: v9.6.1
[2018-09-18T03: 33: 08.864Z] Horário: Ter, 18 de setembro de 2018 11: 33:08 GMT + 0800 (CST)
[2018-09-18T03: 33: 08.864Z] -------------------------------------- --------------------------------

? Permitir que o Firebase colete informações anônimas de uso da CLI e relatórios de erros? sim

Visite este URL em qualquer dispositivo para fazer login:
https://accounts.google.com/o/oauth2/auth?client_id=563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com&scope=email%20openid%20https%3A%2F%2Fwww.googleapat%2Fojects.Fojects.Fojects.projects.Fojects%2Form 20https% 3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Ffirebase% 20https% 3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fcloud-platform & response_type = code & state = 971322293 & redirect_uri = 3 http% 3A% 2F% 2Flocal005

Aguardando autenticação ...
[2018-09-18T03: 33: 16.437Z] >>> POSTAGEM DO PEDIDO DE HTTP https://accounts.google.com/o/oauth2/token
code = 4 / XgBxvL5SXC-Wg5vT8CCTdfLIoTPKVkCOFcmVku25RwRlkLUc-inqxg6mPRNX7JKRA8fWufJEm-7e5BKTbfFCmsk, client_id = 563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com, client_secret = j9iVZfS8kkCEFUPaAeJV0sAi, redirect_uri = http: // localhost : 9005, grant_type = authorization_code
[2018-09-18T03: 33: 16.454Z] Erro de busca de token: erro
em novo FirebaseError (/usr/local/lib/node_modules/firebase-tools/lib/error.js:11:16)
em Request._callback (/usr/local/lib/node_modules/firebase-tools/lib/api.js:34:11)
em self.callback (/usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js:185:22)
em Request.emit (events.js: 127: 13)
em Request.emit (domain.js: 421: 20)
em Request.onRequestError (/usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js:881:8)
em ClientRequest.emit (events.js: 127: 13)
em ClientRequest.emit (domain.js: 421: 20)
em ClientRequest.onError (/usr/local/lib/node_modules/firebase-tools/node_modules/tunnel-agent/index.js:179:21)
em Object.onceWrapper (events.js: 219: 13)
^ Z
[1] + Firebase login interrompido --debug

Eu também tenho um problema ao implantar meu projeto no firebase atrás de um proxy.
O login funciona sem problemas.

http_proxy e https_proxy estão configurados para cntlm.
Os comandos que tentei são:

firebase deploy -P <projectname> --token <token> --debug
firebase deploy -P <projectname> --debug

Esta é a saída:

firebase deploy -P prod --debug
[2018-09-20T09:42:15.911Z] ----------------------------------------------------------------------
[2018-09-20T09:42:15.926Z] Command:       C:\Program Files\nodejs\node.exe C:\Users\<user>\AppData\Roaming\npm\node_modules\firebase-tools\bin\firebase deploy -P prod --debug
[2018-09-20T09:42:15.942Z] CLI Version:   4.2.1
[2018-09-20T09:42:15.942Z] Platform:      win32
[2018-09-20T09:42:15.942Z] Node Version:  v8.11.3
[2018-09-20T09:42:15.942Z] Time:          Thu Sep 20 2018 11:42:15 GMT+0200 (Mitteleuropäische Sommerzeit)
[2018-09-20T09:42:15.942Z] ----------------------------------------------------------------------

[2018-09-20T09:42:15.973Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2018-09-20T09:42:15.975Z] > authorizing via signed-in user
[2018-09-20T09:42:15.978Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[2018-09-20T09:42:15.979Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token
 refresh_token=<token>, client_id=563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com, client_secret=j9iVZfS8kkCEFUPaAeJV0sAi, grant_type=refresh_token, scope=email https://www.googleapis.com/auth/cloud-platform https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/firebase openid
[2018-09-20T09:42:16.321Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=utf-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 20 Sep 2018 09:42:16 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="44,43,39,35", accept-ranges=none, connection=close
[2018-09-20T09:42:16.332Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/<project>


!  Your CLI authentication needs to be updated to take advantage of new features.
!  Please run firebase login --reauth

[2018-09-20T09:42:16.485Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase"]
[2018-09-20T09:42:16.485Z] > authorizing via signed-in user
[2018-09-20T09:42:16.485Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[2018-09-20T09:42:16.485Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token
 refresh_token=<token>, client_id=563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com, client_secret=j9iVZfS8kkCEFUPaAeJV0sAi, grant_type=refresh_token, scope=email https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/firebase openid
[2018-09-20T09:42:16.740Z] <<< HTTP RESPONSE 200 content-type=application/json; charset=utf-8, vary=X-Origin, Referer, Origin,Accept-Encoding, date=Thu, 20 Sep 2018 09:42:16 GMT, server=ESF, cache-control=private, x-xss-protection=1; mode=block, x-frame-options=SAMEORIGIN, x-content-type-options=nosniff, alt-svc=quic=":443"; ma=2592000; v="44,43,39,35", accept-ranges=none, connection=close
[2018-09-20T09:42:16.769Z] >>> HTTP REQUEST GET https://admin.firebase.com/v1/projects/<project>

[2018-09-20T09:42:16.861Z] Error: tunneling socket could not be established, statusCode=407
    at ClientRequest.onConnect (C:\Users\<user>\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\tunnel-agent\index.js:166:19)
    at Object.onceWrapper (events.js:319:30)
    at emitThree (events.js:136:13)
    at ClientRequest.emit (events.js:217:7)
    at Socket.socketOnData (_http_client.js:474:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)

Error: Server Error. tunneling socket could not be established, statusCode=407

@ chen86860 Não, você não modifica o código-fonte agora, apenas exporte o proxy em seu ambiente:

$ export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;

Acabei de executar o script no terminal, mas ainda recebo o mesmo erro. O que há de errado aí?
yongjiamingdeMacBook- Pro: firebase yongjiaming $ firebase login --debug
[2018-09-18T03: 33: 08.860Z] -------------------------------------- --------------------------------
[2018-09-18T03: 33: 08.863Z] Comando: /usr/local/Cellar/node/9.6.1/bin/node / usr / local / bin / firebase login --debug
[2018-09-18T03: 33: 08.864Z] Versão CLI: 4.2.1
[2018-09-18T03: 33: 08.864Z] Plataforma: darwin
[2018-09-18T03: 33: 08.864Z] Versão do nó: v9.6.1
[2018-09-18T03: 33: 08.864Z] Horário: Ter, 18 de setembro de 2018 11: 33:08 GMT + 0800 (CST)
[2018-09-18T03: 33: 08.864Z] -------------------------------------- --------------------------------

? Permitir que o Firebase colete informações anônimas de uso da CLI e relatórios de erros? sim

Visite este URL em qualquer dispositivo para fazer login:
https://accounts.google.com/o/oauth2/auth?client_id=563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com&scope=email%20openid%20https%3A%2F%2Fwww.googleapat%2Fojects.Fojects.Fojects.projects.Fojects%2Form 20https% 3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Ffirebase% 20https% 3A% 2F% 2Fwww.googleapis.com% 2Fauth% 2Fcloud-platform & response_type = code & state = 971322293 & redirect_uri = 3 http% 3A% 2F% 2Flocal005

Aguardando autenticação ...
[2018-09-18T03: 33: 16.437Z] >>> POSTAGEM DO PEDIDO DE HTTP https://accounts.google.com/o/oauth2/token
code = 4 / XgBxvL5SXC-Wg5vT8CCTdfLIoTPKVkCOFcmVku25RwRlkLUc-inqxg6mPRNX7JKRA8fWufJEm-7e5BKTbfFCmsk, client_id = 563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com, client_secret = j9iVZfS8kkCEFUPaAeJV0sAi, redirect_uri = http: // localhost : 9005, grant_type = authorization_code
[2018-09-18T03: 33: 16.454Z] Erro de busca de token: erro
em novo FirebaseError (/usr/local/lib/node_modules/firebase-tools/lib/error.js:11:16)
em Request._callback (/usr/local/lib/node_modules/firebase-tools/lib/api.js:34:11)
em self.callback (/usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js:185:22)
em Request.emit (events.js: 127: 13)
em Request.emit (domain.js: 421: 20)
em Request.onRequestError (/usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js:881:8)
em ClientRequest.emit (events.js: 127: 13)
em ClientRequest.emit (domain.js: 421: 20)
em ClientRequest.onError (/usr/local/lib/node_modules/firebase-tools/node_modules/tunnel-agent/index.js:179:21)
em Object.onceWrapper (events.js: 219: 13)
^ Z
[1] + Firebase login interrompido --debug

apenas atualize para os últimos shadowcoks, tudo vai bem ~

Estou morando na China, então é muito difícil usar os produtos do Google graças ao GFW. Atualmente estou usando Shadowsocks ouvindo na porta 1080 para acessar o serviço do Google.

Aqui está outro problema, se você deseja executar firebase serve para servir funções dinâmicas, você não pode usar http_proxy=socks5://127.0.0.1:1080 , porque a solicitação localhost também será proxy desta forma.

Resolvi isso usando apenas https_proxy=socks5://127.0.0.1:1080 ,

Resumo

Conecte-se

firebase login --no-localhost

Servir

export https_proxy=socks5://127.0.0.1:1080
firebase serve

Implantar

Adicione o seguinte código entre BEGIN_PROXY e AFTER_PROXY ao seu functions/node_modules/faye-websocket/lib/faye/websocket/client.js

// ...
var Client = function(_url, protocols, options) {
  options = options || {};

  // BEGIN_PROXY
  options.proxy = {
    origin:  'http://localhost:8888',
    headers: {'User-Agent': 'node'},
  }
  // AFTER_PROXY

// ...
firebase deploy


Clique para ver meu log

upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ firebase login --no-localhost
? Allow Firebase to collect anonymous CLI usage and error reporting
 information? No

Visit this URL on any device to log in:
https://accounts.google.com/o/oauth2/auth?client_id=563584335869-fgrhgmd47bqnekij5i8b5pr03ho849e6.apps.googleusercontent.com&scope=email%20openid%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloudplatformprojects.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Ffirebase%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&response_type=code&state=928286882&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob

? Paste authorization code here: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

+  Success! Logged in as [email protected]

upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ firebase serve

=== Serving from 'E:\github\firebase-test'...

i  functions: Preparing to emulate functions.
i  hosting: Serving hosting files from: public
+  hosting: Local server: http://localhost:5000
Warning: You're using Node.js v8.11.3 but Google Cloud Functions only supports v6.11.5.
+  functions: app: http://localhost:5001/learning-13a18/us-central1/app
127.0.0.1 - - [08/Nov/2018:04:40:35 +0000] "GET / HTTP/1.1" 200 3505 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:37 +0000] "GET /__/firebase/init.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:37 +0000] "GET /__/firebase/5.5.7/firebase-app.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:38 +0000] "GET /__/firebase/5.5.7/firebase-auth.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:38 +0000] "GET /__/firebase/5.5.7/firebase-messaging.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:38 +0000] "GET /__/firebase/5.5.7/firebase-database.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:39 +0000] "GET /__/firebase/5.5.7/firebase-storage.js HTTP/1.1" 200 - "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:04:40:40 +0000] "GET /favicon.ico HTTP/1.1" 404 1808 "http://localhost:5000/" "Mozilla/5.0 (Windows NT 10.0;
Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
[hosting] Rewriting /timestamp to local function app
info: User function triggered, starting execution
info: Execution took 23 ms, user function completed successfully
127.0.0.1 - - [08/Nov/2018:04:40:41 +0000] "GET /timestamp HTTP/1.1" 200 13 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
[hosting] Rewriting /timestamp to local function app
info: User function triggered, starting execution
info: Execution took 2 ms, user function completed successfully
127.0.0.1 - - [08/Nov/2018:04:40:43 +0000] "GET /timestamp HTTP/1.1" 200 13 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
Shutting down...


upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ export http_proxy=socks5://127.0.0.1:1080

upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ firebase serve

Error: Server Error. socket hang up

upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ export http_proxy=

upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ firebase serve

=== Serving from 'E:\github\firebase-test'...

i  functions: Preparing to emulate functions.
i  hosting: Serving hosting files from: public
+  hosting: Local server: http://localhost:5000
Warning: You're using Node.js v8.11.3 but Google Cloud Functions only supports v6.11.5.
+  functions: app: http://localhost:5001/learning-13a18/us-central1/app
Shutting down...


upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ firebase deploy

Error: Server Error. socket hang up

upupming@DESKTOP-6EB87T6 MINGW64 /e/github/firebase-test
$ firebase deploy

=== Deploying to 'learning-13a18'...

i  deploying functions, hosting
Running command: npm --prefix "%RESOURCE_DIR%" run lint

> functions@ lint E:\github\firebase-test\functions
> eslint .

+  functions: Finished running predeploy script.
i  functions: ensuring necessary APIs are enabled...
+  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (52.46 KB) for uploading
+  functions: functions folder uploaded successfully
i  hosting[learning-13a18]: beginning deploy...
i  hosting[learning-13a18]: found 2 files in public
+  hosting[learning-13a18]: file upload complete
i  functions: updating Node.js 6 function app(us-central1)...
+  functions[app(us-central1)]: Successful update operation.
i  hosting[learning-13a18]: finalizing version...
+  hosting[learning-13a18]: version finalized
i  hosting[learning-13a18]: releasing new version...
+  hosting[learning-13a18]: release complete

+  Deploy complete!

Project Console: https://console.firebase.google.com/project/learning-13a18/overviewHosting URL: https://learning-13a18.firebaseapp.com

Solução alternativa

Se você está sempre usando uma rede WiFi doméstica, pode configurar o proxy Shadowsocks no seu roteador. Veja este repo para mais informações.

Estou morando na China, então é muito difícil usar os produtos do Google graças ao GFW. Atualmente estou usando Shadowsocks ouvindo na porta 1080 para acessar o serviço do Google.

Aqui está outro problema, se você deseja executar firebase serve para servir funções dinâmicas, você não pode usar http_proxy=socks5://127.0.0.1:1080 , porque a solicitação localhost também será proxy desta forma.

Resolvi isso usando apenas https_proxy=socks5://127.0.0.1:1080 ,

Resumo

Conecte-se

firebase login --no-localhost

Servir

export https_proxy=socks5://127.0.0.1:1080
firebase serve

Implantar

Adicione o seguinte código entre BEGIN_PROXY e AFTER_PROXY ao seu functions/node_modules/faye-websocket/lib/faye/websocket/client.js

// ...
var Client = function(_url, protocols, options) {
  options = options || {};

  // BEGIN_PROXY
  options.proxy = {
    origin:  'http://localhost:8888',
    headers: {'User-Agent': 'node'},
  }
  // AFTER_PROXY

// ...
firebase deploy

Clique para ver meu log

Solução alternativa

Se você está sempre usando uma rede WiFi doméstica, pode configurar o proxy Shadowsocks no seu roteador. Veja este repo para mais informações.

export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;export NO_PROXY=localhost,127.0.0.1

2019 Ainda não funciona! alguma sorte?

Eu não estou atrás de proxy. O login é bem-sucedido e enfrenta o mesmo problema na implantação.

export http_proxy = http://127.0.0.1 : 1087; export https_proxy = http://127.0.0.1 : 1087; export NO_PROXY = localhost, 127.0.0.1

Trabalhou para mim atrás de sombras na China. Obrigado!

mesmo problema ..

Ola pessoal! Aqui está outra solução que é bastante simples e você não precisa editar nenhum arquivo. Em vez de usar Shadowsocks / ShadowsocksR, tente SSTap. SSTap cria uma placa de rede virtual. Não sei como explicar, mas funciona da mesma forma que você executa o Shadowsocks (R) no seu roteador. Funcionou para mim.

export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;export NO_PROXY=localhost,127.0.0.1

Funciona no meu Mac com sombras na China. Muito obrigado!

no Powershell no Windows 10 com a tecnologia shadowocks.

PS> $env:http_proxy = 'http://127.0.0.1:1080'
PS> $env:https_proxy = 'http://127.0.0.1:1080'
PS> $env:NO_PROXY = 'localhost,127.0.0.1'
PS> firebase login

24/03/2019, ainda falhou no meu mac air

Ola pessoal! Aqui está outra solução que é bastante simples e você não precisa editar nenhum arquivo. Em vez de usar Shadowsocks / ShadowsocksR, tente SSTap. SSTap cria uma placa de rede virtual. Não sei como explicar, mas funciona da mesma forma que você executa o Shadowsocks (R) no seu roteador. Funcionou para mim.

@ yqx1110 Muito obrigado, esta é a ferramenta mais poderosa que já vi.

falhou, não funciona

Olá, acabei de encontrar a solução. Siga o link https://qiita.com/tanoc/items/ac92464de473ae483d50

Olá, acabei de encontrar a solução. Siga o link https://qiita.com/tanoc/items/ac92464de473ae483d50

O acima também funciona para o Clasp. Obrigado

no Powershell no Windows 10 com a tecnologia shadowocks.

PS> $env:http_proxy = 'http://127.0.0.1:1080'
PS> $env:https_proxy = 'http://127.0.0.1:1080'
PS> $env:NO_PROXY = 'localhost,127.0.0.1'
PS> firebase login

Obrigado, funciona para mim no win10.

Louco por funcionar no Mac usando este truque

Screen Shot 2019-07-19 at 12 45 14

  1. Vá para a configuração de proxy de rede no Mac e altere o Servidor Proxy e a porta do host local CNTL para o servidor corporativo e a porta reais.
    Screen Shot 2019-07-19 at 13 06 34

    1. Não no proxy de autenticação temporária do terminal

ProxyPass & ProxyUserName: o mesmo que as credenciais de login armazenadas no CNTLM
ProxyServer & ProxyPort: igual ao que você definiu nas configurações de rede.

export http_proxy=http://<ProxyUserName>:<ProxyPass>@<ProxyServer>:<ProxyPort>
export https_proxy=http://<ProxyUserName>:<ProxyPass>@<ProxyServer>:<ProxyPort>

agora consegui fazer o login normalmente no firebase e implantar funções na nuvem. Espero que funcione

export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;export NO_PROXY=localhost,127.0.0.1

Funciona para mim! THX.

10/08/2019 Tentei quase todas as soluções acima e não está funcionando. Infelizmente...

@estrelado
trabalhe para mim obrigado

no Powershell no Windows 10 com a tecnologia shadowocks.

PS> set http_proxy = 'http://127.0.0.1:1080'
PS> set https_proxy = 'http://127.0.0.1:1080'
PS>set NO_PROXY = 'localhost,127.0.0.1'
PS> firebase login

No win10, isso funciona para mim, 1080 é minha porta proxy

Louco por funcionar no Mac usando este truque

Screen Shot 2019-07-19 at 12 45 14

  1. Vá para a configuração de proxy de rede no Mac e altere o Servidor Proxy e a porta do host local CNTL para o servidor corporativo e a porta reais.

Screen Shot 2019-07-19 at 13 06 34

  1. Não no proxy de autenticação temporária do terminal

ProxyPass & ProxyUserName: o mesmo que as credenciais de login armazenadas no CNTLM
ProxyServer & ProxyPort: igual ao que você definiu nas configurações de rede.

export http_proxy=http://<ProxyUserName>:<ProxyPass>@<ProxyServer>:<ProxyPort>
export https_proxy=http://<ProxyUserName>:<ProxyPass>@<ProxyServer>:<ProxyPort>

agora consegui fazer o login normalmente no firebase e implantar funções na nuvem. Espero que funcione

Funciona para mim! Obrigado. 😇

ainda enfrentando esse problema, não posso acreditar que ainda está por aí em 2020 ...

O mesmo problema.

Para pessoas que usam v2ray para proxy no mac:

  1. Encontre o proxy na configuração:
    image
  2. Exporte o proxy em seu terminal:
    export http_proxy = http: // localhost : 1087 (este é meu endereço de proxy)
  3. Encontre o faye lib na pasta da ferramenta firebase em sua pasta nodejs global. O exemplo do caminho pode ser assim. Você pode encontrar isso através da pesquisa "faye" no seu mac.
    /node_modules/firebase-tools/node_modules/firebase/node_modules/faye-websocket/lib/faye/websocket/client.js
  4. Adicione proxy para faye como configuração. Você precisa editar o arquivo client.js de faye.
    var Cliente = função (_url, protocolos, opções) {
    opções = opções || {};
    // Adicione o proxy aqui para faye que o Firebase usa
    options.proxy = {
    origem: ' http: // localhost : 1087',
    };

    }
    5.exportar NODE_TLS_REJECT_UNAUTHORIZED = 0 através do terminal
    6.firebase login --no-localhost através do terminal

Espero que isso ajude:
A lógica principal aqui é dizer ao faye que há um proxy na minha máquina local

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy
    WeChatd29e8b5b594f8cff963da7441b84fbc9

  2. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm

  3. encontre o código abaixo, sobre a linha 276

  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy

WeChatd29e8b5b594f8cff963da7441b84fbc9

  1. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm
  2. encontre o código abaixo, sobre a linha 276
  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost

Funciona para mim! Você realmente salva minha bunda! Obrigado!

Existe uma solução para esse problema nas versões mais recentes?

Espero que isso ajude você:

as etapas são as mesmas de antes. O novo local do arquivo: ... / firebase-tools / lib / api.js

encontre o código abaixo, em torno da linha 297

reqOptions.headers = options.headers; reqOptions.timeout = options.timeout;

acrescentar reqOptions.proxy = "http://127.0.0.1:10818";

execute firebase login --no-localhost

Obrigado por apontar isso, @jplyue estava quase ficando louco

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy

WeChatd29e8b5b594f8cff963da7441b84fbc9

  1. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm
  2. encontre o código abaixo, sobre a linha 276
  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost

FUNCIONA PARA MIM!!!!!!!!!

é muito difícil usar o firebase de um proxy :(

Louco por funcionar no Mac usando este truque
Screen Shot 2019-07-19 at 12 45 14

  1. Vá para a configuração de proxy de rede no Mac e altere o Servidor Proxy e a porta do host local CNTL para o servidor corporativo e a porta reais.

Screen Shot 2019-07-19 at 13 06 34

  1. Não no proxy de autenticação temporária do terminal

ProxyPass & ProxyUserName: o mesmo que as credenciais de login armazenadas no CNTLM
ProxyServer & ProxyPort: igual ao que você definiu nas configurações de rede.

export http_proxy=http://<ProxyUserName>:<ProxyPass>@<ProxyServer>:<ProxyPort>
export https_proxy=http://<ProxyUserName>:<ProxyPass>@<ProxyServer>:<ProxyPort>

agora consegui fazer o login normalmente no firebase e implantar funções na nuvem. Espero que funcione

Funciona para mim! Obrigado. 😇

trabalhe para mim! obrigado

enfrentar o mesmo problema

export http_proxy = http://127.0.0.1 : 1087; export https_proxy = http://127.0.0.1 : 1087; export NO_PROXY = localhost, 127.0.0.1

Obrigado!

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy

WeChatd29e8b5b594f8cff963da7441b84fbc9

  1. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm
  2. encontre o código abaixo, sobre a linha 276
  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost
    FUNCIONOU

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy

WeChatd29e8b5b594f8cff963da7441b84fbc9

  1. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm
  2. encontre o código abaixo, sobre a linha 276
  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost
    FUNCIONOU

Acabei de testar no Ubuntu 20.04, ele funciona perfeitamente. Obrigado por compartilhar!

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy

WeChatd29e8b5b594f8cff963da7441b84fbc9

  1. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm
  2. encontre o código abaixo, sobre a linha 276
  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost
    FUNCIONOU

Edite o proxy e execute este comando para hackear automaticamente a biblioteca:
sed -i '/self.tunnel*/i \ \ self.proxy = " http://192.168.219.7 : 9090";' /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js

Espero que isso ajude você:
[email protected]
funciona em win e mac com ssr

  1. encontre seu endereço de proxy

WeChatd29e8b5b594f8cff963da7441b84fbc9

  1. abra o arquivo "request.js" na pasta de ferramentas do firebase. para mim, o caminho é
    /usr/local/lib/node_modules/firebase-tools/node_modules/request/request.js
    use "npm root -g" para encontrar seu caminho global npm
  2. encontre o código abaixo, sobre a linha 276
  if (!self.hasOwnProperty('proxy')) {
    self.proxy = getProxyFromURI(self.uri)
  }

mude para

  // if (!self.hasOwnProperty('proxy')) {
  //   self.proxy = getProxyFromURI(self.uri)
  // }
  self.proxy = "http://127.0.0.1:1087";  // this is your proxy address
  1. use firebase login --no-localhost

FINALMENTE FUNCIONA !!! Muito obrigado !!!! 🌷🌷🌷

Esta página foi útil?
0 / 5 - 0 avaliações