O quero fazer:
Criar um site pessoal usando blogdown:: em um repositório Github.
Problema:
A função usethis::use_github() retorna um erro ! GitHub API error (404): Not Found
Passos que estou seguindo (seguindo o post da @beatrizmilz ):
# (1) Criar Projeto:
usethis::create_project("/home/Nome/Documentos/Projetos/Meuprojeto/")
# (2) Vincular o Git ao projeto.
usethis::use_git()
# (3) Gerar um token github
usethis::create_github_token()
gitcreds::gitcreds_set()
# ou
usethis::edit_r_environ() # Add GITHUB_PAT="00000000000000"
# (4) Conferir a config.
usethis::git_sitrep()
#>
── Git global (user)
• Name: 'viniciovcl'
• Email: 'viniciovcl@gmail.com'
• Global (user-level) gitignore file: <unset>
• Vaccinated: FALSE
ℹ See `?git_vaccinate` to learn more
• Default Git protocol: 'https'
• Default initial branch name: <unset>
── GitHub user
• Default GitHub host: 'https://github.com'
ℹ '/home/vinicio/.Renviron' defines environment variable(s):
- GITHUB_PAT
This can prevent your PAT from being retrieved from the Git credential store.
ℹ If you are troubleshooting PAT problems, the root cause may be an old, invalid PAT defined in '/home/vinicio/.Renviron'.
• Call `edit_r_environ()` to edit that file.
ℹ For most use cases, it is better to NOT define the PAT in `.Renviron`.
Instead, call `gitcreds::gitcreds_set()` to put the PAT into the Git credential store.
• Personal access token for 'https://github.com': '<discovered>'
• GitHub user: 'viniciovcl'
• Token scopes: ''
✖ Token has no scopes!
`create_github_token()` defaults to the recommended scopes.
✖ Can't retrieve registered email addresses from GitHub.
Consider re-creating your PAT with the 'user' or at least 'user:email' scope.
ℹ No active usethis project
# (5) Criar o repositório do meu projeto
usethis::use_github()
# (6) Erro:
# Error in `gh::gh()`:
# ! GitHub API error (404): Not Found
# ✖ URL not found: <https://api.github.com/user/repos>
# ℹ Read more at
# <https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user>
# Run `rlang::last_trace()` to see where the error occurred.
# (7) Consultas
gh::gh_whoami()
#> {
"name": "Vinicio Lima",
"login": "viniciovcl",
"html_url": "https://github.com/viniciovcl",
"scopes": "",
"token": "ghp_...Gygd"
}
Não encontrei esse erro nos posts. Alguém já recebeu esse erro?
Created on 2024-02-19 with reprex v2.0.2
Oi Vinícius ! Tudo bem?
Obrigada por enviar essa dúvida junto ao resultado do git_sitrep()!
Vamos investigar…O problema está na configuração da conexão do GitHub com o seu computador.
A mensagem de erro aparece que o token não tem scopes.
Sabe quando usamos a função create_github_token()
, e abre uma página no github com várias opções pra clicar (nesse momento eu costumo recomendar apenas colocar um nome e um prazo de expiração)?
Aquelas opções abaixo (que eu costumo não clicar em nada) são os scopes.
Scopes definem o que é que a sua chave tem permissão de fazer, e parece que a chave que o R está encontrando não tem permissão nenhuma.
O que eu recomendo:
- usar a função abaixo, criar um novo token e não alterar os scopes:
create_github_token()
usethis::edit_r_environ()
Tentar novamente a etapa do usethis::git_sitrep()
, e se estiver tudo ok, prosseguir para usethis::use_github()
.
No código colocado, também ficou parecendo que você rodou tudo de uma vez. Não recomendo isso quando estamos configurando o Git e GitHub no RStudio. Tem várias etapas interativas e você tem que fazer cada uma delas com cuidado. Se você rodou tudo de uma vez, provavelmente o erro aconteceu por isso.
https://beatrizmilz.github.io/slidesR/git_rstudio/11-2021-ENCE.html#19
Oi Bea. Obrigado pela resposta.
Eu rodei esses comandos passo a passo conferindo as saídas.
Infelizmente chego na mesma resposta ao rodar usethis::use_github()
.
```#> Error in gh::gh()
:
! GitHub API error (404): Not Found
URL not found: https://api.github.com/user/repos
Read more at
https://docs.github.com/rest/repos/repos#create-a-repository-for-the-authenticated-user```
Estou confirmando o token GITHUB_PAT no environ e também via gitcreds::gitcreds_get()$password
, exatamente o mesmo.
Já gerei vários tokens para testar. O que tenho estranhado é a referencia a Token Scopes na saída de usethis::git_sitrep()
── GitHub user
• Default GitHub host: 'https://github.com'
• Personal access token for 'https://github.com': '<discovered>'
• GitHub user: 'viniciovcl'
• Token scopes: ''
✖ Token has no scopes!
`create_github_token()` defaults to the recommended scopes.
✖ Can't retrieve registered email addresses from GitHub.
Consider re-creating your PAT with the 'user' or at least 'user:email' scope.
Tem alguma ideia se é por parte de alguma configuração git ou pelo endereço user/repos
Obrigado pela ajuda.
Adicionando a saída de gh::gh()
> gh::gh()
Error in gh::gh() : argumento "endpoint" ausente, sem padrão
Boa tarde.
Função usethis::use_github()
funcionando. Criou o repositório do projeto.
Meu problema, aparentemente, era devido minha chave ssh.
Refiz a chave usando a documentação em: Generating a new SSH key and adding it to the ssh-agent - GitHub Docs.
Obrigado @beatrizmilz.
1 curtida