A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Publicar un paquete en NPM

13/15
Recursos

Aportes 90

Preguntas 57

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Soluci贸n al error 鈥403 Forbidden - PUT http://registry.npmjs.org/random-messages - You do not have permission to publish 鈥渞andom-messages鈥. Are you logged in as the correct user?鈥
.
En el archivo package.json cambiar el atributo name a un nombre original, puesto que el profe ya subi贸 su repositorio con el nombre de random-messages, por lo que no podemos tener nosotros un proyecto del mismo nombre en NPM 馃槈

Primero se debe probar de forma local.

pwd
sudo npm link
#Se ejecuta la funci贸n
random-msg

Otra forma de instalar el paquete

sudo npm install -g ~/Estudio/GestionDeDependenciasYPaquetesConNPM/random-messages/

Crear cuenta para poder subir el paquete - Npm.js https://www.npmjs.com/
Verificar la cuenta que llega al correo electr贸nico registrado.

Se loguea a la cuenta creada por consola y se publica el paquete

npm adduser

npm publish

Gracias @facmartoni

Soluci贸n al error 鈥403 Forbidden - PUT http://registry.npmjs.org/random-messages - You do not have permission to publish 鈥渞andom-messages鈥. Are you logged in as the correct user?鈥

En el archivo package.json cambiar el atributo name a un nombre original, puesto que el profe ya subi贸 su repositorio con el nombre de random-messages, por lo que no podemos tener nosotros un proyecto del mismo nombre en NPM 馃槈.

Yo coloque random-messages-dbz y funciono.

la proxima vez que me pidan el pack les voy a pasar el comando de npm

Les recomiendo cambiar el nombre del proyecto a algo como 鈥渦suario-random-messages鈥, en usuario ponen su usuario. As铆 funcionar谩 perfectamente debido a que no puede haber dos paquetes con el mismo nombre.

Para probar la funcion:

node bin/global.js

Si les sale el error 402 es que ahora npm publish deja por defecto el paquete privado (servicio de paga) as铆 que hay que agregar el flag --access=public
Quedar铆a npm publish --access=public

Eliminar paquetes publicados
1 . Si quieres eliminar el paquete o versi贸n publicada para los paquetes reci茅n creados, siempre que ning煤n otro paquete en el Registro p煤blico de npm dependa de su paquete, puede anular la publicaci贸n en cualquier momento dentro de las primeras 72 horas despu茅s de la publicaci贸n, a menos que usted sea el 煤nico propietario del m贸dulo con:

npm unpublish <package_name> --force

y si se quiere anular la publicaci贸n de una versi贸n en espec铆fico:

npm unpublish <package_name>@<version>

2 . Para paquetes que tienen publicados m谩s de 72 horas, independientemente de cu谩nto tiempo hace que se public贸 un paquete, puede anular la publicaci贸n de un paquete que cumpla con lo siguiente:

  • ning煤n otro paquete en el Registro P煤blico de npm depende de otro
  • tuvo menos de 300 descargas durante la 煤ltima semana
  • tiene un solo propietario / mantenedor
    npm tiene detalles de la pol铆tica para anular la publicaci贸n de paquetes, m谩s detalles aqu铆: npm Unpublish Policy 馃槈

Si acaban de crear su cuenta la tienen que verificar para poder publicar un paquete

Ohhh qu茅 hermoso, no pens茅 que publicar铆a mi primer paquete en npm as铆 de f谩cil. Este curso me est谩 sacando un mont贸n de dudas sobre cosas que hac铆a sin saber para qu茅 eran.

Publicar paquete

-npm link
Nos crea una referencia a este paquete en la carpeta global (.npm-global), hacia los servidores de npm de forma natural.
-random-msg
ejecutamos nuestro paquete, que este se encuentra de forma global
-npm install -g /mnt/c/Users/USUARIO/Documents/Projects/random-messages
Nos ayudara a instalar las actualizaciones que hagamos en el proyecto hasta npm
-npm adduser
Hacer login en la terminal para conectarme a npm
-npm publish
Nos permite leer la configuraci贸n del package.json y con ello establecer las configuraci贸n a npmjs

Amigos,

Un dato importante si no les resulta.

A mi tambi茅n me apareci贸 el error 403.
Inicialmente cambi茅 el nombre del proyecto en package.json, sin embargo el error persist铆a.
Al entrar al log como nos ense帽aron en clases anteriores, pude ver que me faltaba validar mi correo.

Salu2

Hola, por fa necesito ayuda. Ya lo de la clase anterior pero cuando llego a ejecutarlo me sale error.

me aparece sudo command not found

Esta raro, ayuda

la-MacBook-Air-de-Uriel:random-messages urielol$ npm adduser
Username: urielol
Password: 
Email: (this IS public) [email protected]
Logged in as urielol on https://registry.npmjs.org/.
la-MacBook-Air-de-Uriel:random-messages urielol$ npm publish
npm notice 
npm notice 馃摝  [email protected]1.0.0
npm notice === Tarball Contents === 
npm notice 77B  bin/global.js
npm notice 281B src/index.js 
npm notice 400B package.json 
npm notice === Tarball Details === 
npm notice name:          random-messages                         
npm notice version:       1.0.0                                   
npm notice package size:  584 B                                   
npm notice unpacked size: 758 B                                   
npm notice shasum:        48fab96f75ab5a02956acf57ee290d485f6a308c
npm notice integrity:     sha512-+G8pWFmE2vp/P[...]x384mnuJUkSiA==
npm notice total files:   3                                       
npm notice 
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/random-messages - You do not have permission to publish "random-messages". Are you logged in as the correct user?
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.

npm ERR! A complete log of this run can be found in:

Soluciones al error 403 forbidden:

  • El nombre del paquete ya existe (En el package.json cambia el random-messages por otro, se creativo. Si, random-messages-platzi ya existe, les juro que pens茅 que s贸lo a mi se me hab铆a ocurrido 馃ぃ).
  • No has verificado tu cuenta (reci茅n creada).

Los comentarios son simplemente increibles. Muchas gracias por ayudarnos a aprender el doble. Esto es lo que le da valor agregado a Platzi.

Yo he publicado un par de paquetes a NPM tambi茅n:

timer-creator -> Sirve para manejar timeouts e intervals haciendo referencia a ellos con cadenas de texto (normalmente setTimeout y setInterval devuelven un valor num茅rico al crearse y esta referencia la hace de manera global).

connection-checker -> Sirve para hacer validar que tenemos conexi贸n a internet, funciona haciendo una petici贸n fetch (por defecto hace 3 peticiones a servidores ubicados en lugares distantes Google (usa), Yandex(rusia), Baidu (china)) a un dominio publico. Se puede sobreescribir el funcionamiento base con otros dominios distintos.

![](

Documentaci贸n de Link.

Si te topas con el error 403 en la terminal
Verifica tu cuenta de npm, la plataforma te mandara un correo de verificaci贸n.
En el package.json en el apartado de name agrega un nombre diferente al de la clase, ya que no puede haber dos paquetes con el mismo nombre en la plataforma.

Qu茅 emoci贸n. Puede parecer algo sencillo, pero que ilusi贸n saber como publicar cosas as铆. Por esto, platzi hace la diferencia.

En caso de presentarse un error 400

error 400 Bad Request - PUT https://registry.npmjs.org/random-names - 鈥渞andom-namesJohann鈥 is invalid for new packages

Tal cual como dicen los compa帽eros en respuestas anteriores hay que cambiar el name del package.json y ADEM脕S debemos asegurarnos que el nuevo valor de name que le demos est茅 todo en min煤sculas

En primera instancia recordar colocar en el package.json en el nombre del paquete:
鈥渘ame鈥: 鈥淍usernapm/random-messages鈥.
Al colocar:
npm publish
gener贸 el error 鈥402 Payment Required - PUT鈥, es que requiere una cuenta de pago.

La configuraci贸n de acceso predeterminada a npmjs es privada, pero para ello necesita una cuenta de pago. De ah铆 el mensaje de error.

Para evitar el error, la publicaci贸n del paquete debe ser de 谩mbito p煤blico con el siguiente comando:
npm publish --access=public

En caso NVM (node version manager) y quieres eliminar tu paquete lo encuentras en:
/Users/username/.nvm/versions/node/v14.4.0/lib/node_modules

Nota:

  • en username debe ser el nombre de usuario de tu pc
  • en v14.4.0 debe ser la versi贸n de node que uses

En esta carpeta estan los archivos ejecutables, por ejemplo al ejecutar el comando random-msg en la terminal tomar谩 el archivo que el corresponde.
/Users/mauroquinteros/.nvm/versions/node/v14.4.0/bin

En caso de que tengan el siguiente error:

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/random-anime-characters - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/maucoder/.npm/_logs/2021-09-21T03_20_39_388Z-debug.log

Significa que deben verificar su correo de npm para que les de el acceso

Hola!
Te aparece este error?

/random-messages$ sudo npm link
>> /usr/bin/env: 鈥榥ode鈥: No such file or directory

Para abordar este problema te sugiero 3 pasos:
(1) All铆 en la carpeta donde estas ejecuta:

node ./bin/global.js

Si el resultado es un nombre random de tu array. Todo bien.
Si esto no corre es porque hay un problema en tu funci贸n y debes revisarla (seguro es un typo 馃槂)
(2) Ahora ejecuta solamente:

npm link

Por alguna raz贸n, los que instalamos node a trav茅s de NVM no necesitamos poner sudo por delante. (Si alguien sabe porqu茅 se rompe cuando ponemos sudo, se los agradecer铆a que lo comenten).
Deber铆a correr y mostrarte algo as铆鈥

$ npm link

up to date, audited 3 packages in 1s

found 0 vulnerabilities

y eso significa que todo va bien!
Pero si te sale esto鈥

$ npm link
npm ERR! code EJSONPARSE
npm ERR! path /home/tommy/tomProjects/Curso-NPM/Proj-RandomMessages/package.json
npm ERR! JSON.parse Unexpected token "}" (0x7D) in JSON at position 421 while parsing near "...preferGlobal\":true,\n}\n"
npm ERR! JSON.parse Failed to parse JSON data.
npm ERR! JSON.parse Note: package.json must be actual JSON, not just JavaScript.

npm ERR! A complete log of this run can be found in:

Es porque hay un error en nuestro package.json鈥
Revisa que no le hayas puesto una coma al final (eso me pas贸 a mi)鈥 Deber铆a quedar as铆:

  "license": "MIT",
  "bin":{
    "random-msg":"./bin/global.js"
  },
  "preferGlobal":true // sin coma!!
}

Espero te ayude y que nada te detenga 馃挭!

Lo bueno de poder publicar en NPM es que puedes crear tu librer铆a de componentes, la publicas cuando vayas a iniciar cualquier proyecto simplemente instalas tu librer铆a. As铆 tendr铆as menos carpetas en tu proyecto

Tengan cuidado al cambiar el** atributo nombre**, para corregir el error 403, tiene que ser todo en minusculas.

PAQUETE DE NPM PUBLICADO

Uhhh as铆 de f谩cil es publicar algo en NPM? Genial!

Aunque es raro, en mi secci贸n de packages me aparece 鈥1 package鈥 pero no me aparece ese paquete jaja, tuve que buscarlo en el buscador general de npm xD

<code>
鉃  random-messages git:(master) 鉁 npm publish 
npm notice 
npm notice 馃摝  [email protected]1.0.0
npm notice === Tarball Contents === 
npm notice 83B  bin/global.js
npm notice 308B src/index.js 
npm notice 461B package.json 
npm notice === Tarball Details === 
npm notice name:          random-messages.yojan                   
npm notice version:       1.0.0                                   
npm notice package size:  632 B                                   
npm notice unpacked size: 852 B                                   
npm notice shasum:        c3dc0f668686fc88c01a090e80e58cfcd3b0c9c9
npm notice integrity:     sha512-1aoxDK6ALUk12[...]vgRam3yEhW0kA==
npm notice total files:   3                                       
npm notice 
+ [email protected]1.0.0
鉃  random-messages git:(master) 鉁 

Excelente explicaci贸n instructor Oscar, el proceso es similar a subir un repositorio a GitHub, al tener en cuenta un usuario y contrase帽a y un comando para hacer el envi贸 de la informaci贸n desde la terminal.

Si pude publicar mi primer paquete NPM 馃榿
![](

Publicar un paquete en NPM

<h3>鉅鉅</h3>

鉅鉅
Antes de publicar tu paquete debes probarlo de forma local para garantizar que cumple con su funci贸n.

Una forma de hacerlo es ejecutar el siguiente comando:

sudo npm link

Esto va instalar el paquete que tengas en el current path. Otra manera es, utilizando la ruta escrita.

Despu茅s vamos a logearnos.

npm add user

Y para publicar nuestro paquete:

npm publish

De esta manera ya s茅 publica nuestro paquete, aun faltan algunas cosas como README md y otros detalles.

Recordar que tener nuestro email activado y no podemos copiar ning煤n nombre ya existente para nuestro paquete.

Tuve el siguiente problema
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/random-messages-marling - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.

lo solucione entrando a mi email verificando mi cuenta , ya que si no esta verificada la cuenta npm no te dejara publicar tus proyectos 馃

Publicar un paquete en NPM

Antes de publicarlo debemos probar nuestro paquete en local y eso lo realizaremos dentro de la carpeta de nuestro paquete, para nuestro ejemplo debemos estar en /ramdom-messeges y ejecutar el comando con permisos:

sudo npm link /ruta-de-nuestro paquete

la ruta completa la obtenemos con el comando en linux 鈥減wd鈥. Luego de tener un output donde nos indica que esta instalado y sin ninguno error, llamamos a nuestro paquete como fue nombrado en el package.json.

ramdom-msg

Y como respuesta obtenemos un nombre random del arreglo creado en random-messeges/src/index.js.

Npm nos permite instalar de otra forma nuestro paquete local y en este caso agregaremos mas nombres para ver los cambios.

sudo npm install -g /ruta-de-nuestro paquete

Con estas pruebas ya garantizamos el paquete esta funcionando correctamente. Para realizar la publicaci贸n debemos tener_

  • Una cuenta activa en Npm.
  • Hacemos login desde la terminar con nuestras credenciales en npm:
npm addusser
  • Seguimos los pasos y al terminar tendremos un output success.
  • Ahora si podemos publicar el paquete:
npm publish

Desde nuestro perfil podemos garantizar que el paquete esta publicado y adem谩s npm nos env铆a un correo de confirmaci贸n.

si hago sudo npm link, da error " npm orden no encontrada"

si solo hago npm link me funciona sin problemas.

Compa帽eros si al momento de crear todo el paquete, llegan al punto de estar en la terminal y van a ejecutar el comando: 鈥渘pm link鈥 y le aparece un error como este.

Es por que lo mas probable que se tenga un archivo en gitignore.

La soluci贸n es crear una carpeta en la raiz de los archivos, es decir antes de la carpeta donde ejecutamos el inicio de git y de npm. y creamo una con 鈥.npmignore鈥 Esto deber谩 solucionar nuestro problema.

Los creditos de esta soluci贸n se lo debo a stack overflow.

Un feliz d铆a!

Hola,
Para los que tengan problemas publicando paquetes por estas fechas:
https://platzi.com/comentario/2721839/

Mi primer paquete de npm publicado 馃槂

Primera vez que hago esto, se siente genial

Si reci茅n crean su cuenta en NPM, recuerden verificar desde su correo electr贸nico. Si no lo hacen, no pueden publicar y les aparece un error:

npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.

Publicar un paquete en NPM


鈿 Recuerda probar tu c贸digo antes de subirlo a NPM, para garantizar que cumple con el funcionamiento que nosotros deseamos

  • sudo npm link鈫 Comando que nos instala nuestro c贸digo como si lo traj茅ramos de npm y verifica si tiene alg煤n error

Ahora, para poder subirlo a NPM, debemos:

  1. Registrarnos en NPM o abrir nuestra cuenta
  2. Logearnos en la web y tambi茅n en la terminal. Para hacerlo en la terminal usamos el comando npm adduser
  3. Ahora para publicarlo, utilizamos el comando npm publish, y despu茅s veremos que ya est谩 disponible npm

Ya cambi茅 el nombre en el package.json, ya me logue茅 en npm, y agregu茅 el usuario, ya verifique mi correo, mi repositorio git, etc. siempre me sale este error cuando hago npm link, npm install, npm publish y todas las opciones que vi en los comentarios. 馃槮

$ npm install -g
npm ERR! code EJSONPARSE
npm ERR! path C:\Users\Santiago\PLATZI\ESCUELA DE DESARROLLO WEB\CURSO NPM\random-messages/package.json
npm ERR! JSON.parse Unexpected token "}" (0x7D) in JSON at position 430 while parsing near "...eferGlobal\" : true,\n}\n"
npm ERR! JSON.parse Failed to parse JSON data.
npm ERR! JSON.parse Note: package.json must be actual JSON, not just JavaScript.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Santiago\AppData\Local\npm-cache\_logs\2021-04-02T00_29_27_124Z-debug.log

<code>

鉃  random-messages git:(master) 鉁 pwd
/Users/macbookpro/Desktop/random-messages
鉃  random-messages git:(master) 鉁 ls
bin               package-lock.json src
node_modules      package.json
鉃  random-messages git:(master) 鉁 random-msg
Laura
鉃  random-messages git:(master) 鉁 random-msg
Ana
鉃  random-messages git:(master) 鉁 random-msg
Ana
鉃  random-messages git:(master) 鉁 random-msg
Laura
鉃  random-messages git:(master) 鉁 random-msg
Yojan
鉃  random-messages git:(master) 鉁 random-msg
Diana
鉃  random-messages git:(master) 鉁 random-msg
Laura
鉃  random-messages git:(master) 鉁 random-msg
Ana
鉃  random-messages git:(master) 鉁 random-msg
Diana
鉃  random-messages git:(master) 鉁 random-msg
Diana
鉃  random-messages git:(master) 鉁 random-msg
Ana
鉃  random-messages git:(master) 鉁 random-msg
Yojan
鉃  random-messages git:(master) 鉁 random-msg
Ana
鉃  random-messages git:(master) 鉁 random-msg
Yojan
鉃  random-messages git:(master) 鉁 random-msg
Diana
鉃  random-messages git:(master) 鉁 

驴alguna ayuda?

Buenas noches companeros. Cuando corro el nombre de mi programa me sale:

zsh: command not found: js-random-messages

Aqui esta mi Package.json:

{
  "name": "js-random-messages",
  "version": "1.0.0",
  "description": "random messages",
  "main": "src/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "javascript",
    "node.js",
    "npm"
  ],
  "author": "Eden Gress <[email protected]> (https://www.facebook.com/liledn.mexikn)",
  "license": "MIT",
  "bin": {
    "random-msg": "./bin/global.js"
  },
  "preferGlobal": true
}


Una extensi贸n me corrigi贸 cierta sintaxis y el proyecto me qued贸 de la siguiente manera:

export default { randomMessage }```



#!/usr/bin/env node
import randomMessage from 鈥樷/src/index.js鈥

randomMessage.randomMessage()```

"bin": {
    "randomMessage": "./bin/global.js"
  },
  "preferGlobal": true,
  "type": "module"```

<h3>Publicar nuestro paquete</h3>
  • primero creamos una cuenta en npm

  • npm adduser para agregar un usuario de npm, primero nos pedir谩 el usuario y luego nuestra contrase帽a, y por 煤ltimo nuestro email.

  • npm login para iniciar sesi贸n a un usuario, tambi茅n podemos usar este comando

  • npm publish para publicar mi proyecto a NPM recuerda que debes esta ubicado en la raiz del proyecto y esto nos va a permitir leer la configuraci贸n en package.json y establecer estos elementos a nuestros manejador de paquetes que es npm, ojo tenemos que poner un nombre original Ejem: nandoes90-random-messaje, esto lo cambiamos en name de package, ya que no se puede publicar dos o mas repositorios con el mismo nombre, adem谩s hay que estar seguro que verificamos la cuenta a trav茅s de nuestros correo, si nos dar谩 un error.

    "name": "nandoes90-random-messages",
    
  • ahora para ver si tenemos ya publicado nos vamos a npm >perfil>packages, si aparece hay que darle unos minutos para que aparezca

Antes de publicar un paquete debemos de probarlo de forma local donde tenemos que garantizar que este realmente funciona como queramosm lo instalamos de forma global:

sudo npm link

Ahora solo ejecutamos la funcion:

random-msg (funcion asignada en el curso)

Si nosotros queremos hacer algun cambio en nuestro paquete necesitamos actualizarlo:

sudo npm install -g rutaDeInstalacion

Ya con esto quedaria actualizado y listo para mandarlo a NPM y listo apra publicar pero neceistamos un usuario. Tenemos que ir a NPM y registrarnos. Ahora nos logeamos en la terminal con

npm adduser

Que nos pedira nuestro usuario y contrasena y ya podremos publicar. Necesitamos hacer el comando

npm publish

Esto nos genera la documentacion y otros recursos y cuando este listo nos dira que la version 1 de nuestro paquete estara disponible.

No me funciona, cree la cuenta y verifique mi correo.
Le cambie el nombre por randomname y tampoco me funciona.

En el package.json puse que el autor y su correo fuera el mismo que NPM.

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/randomname - You do not have permission to publish "randomname". Are you logged in as the correct user?
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/juangalvis/.npm/_logs/2020-04-19T22_32_52_429Z-debug.log

Si despues de solucionar el error 403 no te funciono el:

sudo npm link

yo lo logre asi

sudo npm link --force

Si estan en windows no van a poder ejecutar el comando sudo, van a terminar que abir la terminal con permisos de administrador, y si cuando ejecutan el comando random-msg les aparece el error: 鈥la ejecuci贸n de scripts est谩 deshabilitada en este sistema鈥, debener ejecutar este comando y volverlo a intentar Set-ExecutionPolicy RemoteSigned -Force

npm link # Enlaza la ruta actual al repositorio de npm local para su instalaci贸n.
npm install -g <path-package> 

#Publish package
npm adduser
npm publish --access=public

No me quedo tan claro que hace el comando npm link, 驴Alguien me puede explicar un poco?

Me encanta c贸mo todo va quedando m谩s claro 馃槃

Muy contento hasta el momento!

Excelente.

C贸mo hago para publicar una librer铆a? me refiero a como hacemos con 鈥榬eact鈥 cuando lo importamos que descargamos, importamos y usamos funciones.

Ya registre mi package

Instalaci贸n de forma global
Para usarlo de forma global hacemos referencia del paquete como si se instalara desde el servidor, lo a帽ade a la configuraci贸n del equipo. Al hacer una actualizaci贸n al paquete deberemos volver a usar el comando

  • npm link
  • npm install -g direcci贸n_del_modulo

Para usar el paquete escribimos su nombre en la terminal.
Publicar
Para publicar debemos crearnos una cuenta en NPM.
Luego usamos el comando: npm adduser y agregamos

  • Username
  • Password
  • Correo

Para hacer la publicaci贸n utilizamos el comando:

  • npm publish// permite leer el package json y establecer estos elementos a nuestro gestionador de paquetes.

Y como dijo un youtuber una vez: 鈥淵 con lagrimas en nuestros ojos, vemos como nuestro codigo se ejecuta correctamente鈥 by madrugador2010

Si tiene el error

code E400
npm ERR! 400 Bad Request - PUT https://registry.npmjs.org/Nico-randon-messages - "Nico-randon-messages" is invalid for new packages

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/admin/.npm/_logs/2022-04-24T12_01_28_021Z-debug-0.log
admin@admins-MBP randon-messages % npm publish

Lo mas probable es que tengan una mayuscula en su archivo package.json. Revisenlo porque yo me hice bolas 30 minutos por eso.

Me aparec铆a este error luego de hacer npm link e intentar ejecutar el paquete por consola con el nombre definido en el bin.

El t茅rmino 鈥榰sr/bin/env.exe鈥 no se reconoce como nombre de un cmdlet, funci贸n, archivo de script o programa ejecutable. Compruebe si escribi贸 correctamente el nombre o, si incluy贸 una ruta de acceso, compruebe que dicha ruta es correcta e int茅ntelo de nuevo.

Di much铆simas vueltas intentando resolverlo. Por ejemplo, intent茅:

  • Revisar si efectivamente se estaba creando el enlace de forma global mirando la carpeta de nvm. OK
  • Revisar la escritura de cada archivo y l铆nea dentro del paquete. OK
  • Cambiar el package.json para que todos los nombres y comandos coincidieran. OK

El problema era el final de l铆nea de mi computador. Resulta que el archivo global.js que est谩 dentro de bin es un ejecutable por eso se pone esta l铆nea al principio: #!/usr/bin/env node. Mi pc es windows y funciona con CRLF pero hace un tiempo hab铆a cambiado la configuraci贸n global de git para que fuera LF como los sistemas Unix (que el que usa git por defecto). Entonces como mi final de l铆nea era LF, mi pc no entend铆a que significaba la l铆nea de arriba. La soluci贸n cambiar nuevamente a CRLF para ese repositorio en particular.

Tengo que admitir que la publicaci贸n de un paquete con npm en JS es mucho m谩s facil que hacerlo pypi en Python

Saludos,
El que use el gestor de node NVM.

Recomiendo:
hacer un version check de:

node -v
nodejs -v 

en caso de tenerlo los 2, borrar el nodejs con el siguiente comando:

sudo apt-get --purge remove nodejs 

luegp actualizar a la ultima version con NVM.

NVM instala node en otra ruta la cual no es la global, para resolver esto poner el siguiente comando:

sudo ln -s "$(which node)" /usr/bin/node

Espero que esto ayude a muchas personas y le ahore todo el dolor de cabeza que causo esta sencillez.

El profe es due帽o de arepa.dev no mames

arepa.dev jajajajajaj :v que original el profesor

Si os sale un error en windows al ejecutar random-msg 鈥淣o se puede cargar el archivo X porque la ejecuci贸n de scripts est谩 deshabilitada en el sistema鈥 probad a ejecutar este comando (Como administrador desde windows)

Set-ExecutionPolicy -Scope LocalMachine unrestricted

Fuente: explicaci贸n

Luego de haber creado tu cuenta en NPM seguramente te aparecer谩 este mensaje, en tu dashboard:

Es sumamente imporante que actives Two Factor Authentication ya que sin ello no te dejar谩 subir tu paquete NPM. Esto seguramente te ayudar谩:

https://docs.npmjs.com/configuring-two-factor-authentication

Saludos amigos, y a seguir aprendiendo 馃槃

Pregunta de examen:
驴Cu谩l es el comando que nos permite publicar un paquete en npmjs . com?

Pregunta de examen:
驴Cu谩l es el comando que nos permite inicializar nuestros proyectos en git?

randomMsg es el comando que el profesor utiliz贸 previamente

He aqu铆 un un random de hola mundos:

Hola, me arroja este error, ya cambie el path del source en Json y del global pero sigue igual. Gracias

Les comparto mi propio package.
Genera al azar un libro con su respectivo autor.
Link

Listo

鈥淓sta parte de mi vida, este peque帽o momento de mi vida lo llamo felicidad鈥

馃槄馃槄馃槄

Si les aparece un problema parecido a este solo se debe al nombre de la carpeta, causado porque tiene espacios.

Para arreglarlo hagan un cambio, colocando 鈥淿鈥 en vez de " ".

Por fin pude jaja!

Este es el error que me da, alguien podria decirme a que se debe, gracias.

TENGO ESTE ERROR /random-messages$ random-msg
random-msg: command not found

No pueod parar ya estoy terminando el curso y no dormi toda la noche!!! Oscar una maza!!! PlatziSalu2!

El comando 鈥渘pm whoami鈥 regresa el usuario con el que iniciaste sesi贸n.

Otra forma para logearnos a npm en la terminal:

npm login

Aqui esta el paquete ===> Paquete

Siempre cre铆 que esto era bastante duro pero realmente es simple.

Me salia error al subir, pero tenia que validar mi correo. Ahora ya se subi贸.

Para llamarlo/ejecutar el paquete se debe llamar como se nombro en el archivo index.js en el export, en este caso seria randomMsg y no random-msg.

Interesante