Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.6K
Visualizações
La publicación de npm falla con el registro de GitLab NPM

He intentado hacer uso del nuevo registro NPM que ahora forma parte de la edición gratuita de GitLab. Estoy intentando crear un paquete NPM y publicarlo en la instancia de GitLab de nuestra empresa. Al intentar ejecutar npm publish , el proceso finaliza con el error:

 npm ERR! code E404 npm ERR! 404 Not Found - PUT https://gitlab.myemployer.com/api/v4/projects/1873/packages/npm/@sqt-klu%2fodysseus-nn-core npm ERR! 404 npm ERR! 404 '@sqt-klu/odysseus-nn-core@0.0.1' is not in the npm registry. npm ERR! 404 You should bug the author to publish it (or use the name yourself!) npm ERR! 404 npm ERR! 404 Note that you can also install from a npm ERR! 404 tarball, folder, http url, or git url.

Este problema aparece cuando se ejecuta a través de GitLab CI/CD, así como a través de la línea de comando local.

Como referencia, la URL de nuestro GitLab interno es gitlab.myemployer.com/sqt-klu/odysseus/nn-core. Como tal, supongo que @sqt-klu es el alcance que quiere GitLab.

El archivo CI/CD (y lo que he estado tratando de replicar localmente) hace esto antes npm publish durante la fase before_script :

 - npm config set @sqt-klu:registry https://gitlab.myemployer.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/ - npm config set https://gitlab.myemployer.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken ${CI_JOB_TOKEN}

Localmente, mi npmrc a nivel de usuario es el siguiente (el token real se elimina, pero es un token de acceso personal al que se le han asignado todos los ámbitos posibles):

 audit-level=high python=c:\Python27\python.exe https://gitlab.myemployer.com/api/v4/projects/1873/packages/npm/:_authToken=redacted @sqt-klu:registry=https://gitlab.myemployer.com/api/v4/projects/1873/packages/npm/

Y si es relevante, aquí están los contenidos cruciales de package.json (he omitido contributors , dependencies , devDependencies , engine y author en este extracto):

 { "name": "@sqt-klu/odysseus-nn-core", "version": "0.0.1", "license": "UNLICENSED", "publishConfig": { "@sqt-klu:registry":"https://gitlab.myemployer.com/api/v4/projects/1873/packages/npm/" } }

También probé algunos nombres de paquetes diferentes según esta guía oficial , sin éxito.

Siento que me estoy perdiendo algo muy trivial, pero estoy atascado en esto. Cualquier sugerencia o idea útil es apreciada.

Nota: He reemplazado el FQDN del punto final en todas las menciones en caso de que mi empleador se ponga de mal humor por esto.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Los errores 404 pueden, quizás de manera confusa, referirse a problemas con las credenciales en esta situación.

deberías reemplazar

 https://gitlab.myemployer.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken

con:

 //gitlab.myemployer.com/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken

Todas las demás configuraciones se ven bien* y deberían funcionar. De forma predeterminada, un proyecto de Gitlab debe tener habilitada la función de repositorio de paquetes. Puede activarlo/desactivarlo en la configuración del proyecto.


* podría reducir el alcance de su token de acceso personal a solo api .
Cuando/si usa tokens de implementación a nivel de proyecto o de organización/grupo, solo necesitan read_package_registry y/o write_package_registry .

over 4 years ago · Santiago Trujillo Relatório

0

En mi caso, tuve un problema similar y esta pregunta me ayudó a entender el problema.

  • Verifique package.json y la configuración de publishConfig . Como se muestra en la pregunta, el formato es @company:registy . Al principio no entendí bien y pensé que "registro" significaba su nombre. Pero es literalmente 'registro'.

¡Espero que sea útil para alguien!

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda