Para los que estén un poco confundidos con los comandos, como yo jejeje, el comando de “agregar usuario” es:
npm adduser
el “adduser” va pegado, aunque en la pantalla de la terminal del profesor aparecen separadas las letras.
Introducción
Bienvenida a NPM
Gestión de dependencias
Instalación de NPM
Instalación de NPM en MacOS
Instalación de NPM en Windows
Configuración de dependencias
Primeros pasos en NPM
Instalación de dependencias
Instalación de dependencias de versiones específicas
Comandos en NPM (Scripts)
Actualización de dependencias
Seguridad y solución de problemas
Eliminación de dependencias y Package lock
Creación y publicación de paquetes
Crear un paquete
Publicar un paquete
Versionado de paquetes y paquetes privados
Cierre
Sigue desarrollando en JavaScript
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Oscar Barajas Tavares
Antes de publicar el proyecto de mensajes aleatorios, debes asegurarte de que el paquete funcione correctamente.
npm link
El comando sudo npm link
crea un enlace simbólico para reconocer este paquete dentro del listado de NPM, sin publicarlo todavía.
Si no presenta errores, está listo para ser publicado.
Para simular la instalación de tu paquete de manera local, identifica el directorio en el que te encuentras con el comando pwd
, debe ser el mismo del proyecto.
Después, ejecuta npm install -g <ruta>
, donde
bash
$ sudo npm install -g /Users/tuUsuario/tu-paquete
De esta manera, ya puedes ejecutar el programa con el comando que creamos en "bin"
, random-str-msg
y funcionará de forma global en el sistema.
bash
$ random-str-msg
Commit committed
$ random-str-msg
Here be Dragons
Una vez revisado que el paquete funcione correctamente, debes asegurarte de cumplir con los siguientes requisitos:
* Asegurar que el programa funcione reduciendo en lo posible los bugs
* Revisar que la configuración del archivo package.json sea correcta
* Tener un nombre único para el proyecto, usando guiones (-) para separar palabras y evitando números
* Crear una cuenta en NPM, ya que aquí estarán tus paquetes a tu nombre. Después, debes utilizar el comando npm adduser
para iniciar sesión en la terminal. Llena los datos, si no aparece tu contraseña, no te preocupes, es una forma de seguridad.
Una vez hayas cumplido los requisitos, ejecuta el comando npm publish
y si no existen errores, tu paquete será publicado.
Para validar el usuario con el que publicarás un paquete en NPM, debes utilizar el comando npm whoami
para visualizar el usuario actual, esto es importante si tienes varias cuentas de NPM.
Contribución creada por Andrés Guano (Platzi Contributor).
Aportes 36
Preguntas 9
Para los que estén un poco confundidos con los comandos, como yo jejeje, el comando de “agregar usuario” es:
npm adduser
el “adduser” va pegado, aunque en la pantalla de la terminal del profesor aparecen separadas las letras.
Mis apuntes 🤓
Crea un enlace simbólico, para reconocer a este paquete dentro del listado de paquetes de npm, sin publicarlo todavía pero si verificar que cumple todo lo requerido:
npm link
Para probarlo se deben seguir los siguientes pasos
pwd
para saber exactamente donde se encuentra la ruta de nuestra dependencia.
npm install g ruta-de-la-dependencia(pwd)
Simulará la instalación de la dependencia en nuestro local
Luego ya podemos correr nuestro programa en consola:
random-str-msg
Ya verificado seguir con la creación de la cuenta y :
Vamos a la terminal
npm adduser
Añadimos los datos que nos pide la consola …
Y se publica el paquete 🙌🏻
npm publish
Se busca en npm la dependencia y se verifica que este subida !
Hice un paquete con frases de motivación de la filosofía estoica.
Para los que les salga un error parecido al siguiente:
Lo corregí simplemente poniendole comillas a la ruta:
npm install -g '/d/ESTUDIO/Platzi/desarrollo web/Curso de NPM Gestion de paquetes y Dependencias en JavaScript/npm/random-str-msg-jm'
Recuerden en Mac es:
sudo npm link
Amigos, recomendación importante para los que esten trabajando en Windows
Usen la terminal de GIT, eso les permitirá usar comando sde Linux
NO LE PONGAN NOMBRE A SUS CARPETAS CON ESPACIOS, si quieren dejar un espacios usen un guión, porque sino cuando hagan npm install g ruta no les va a funcionar.
[https://linkedin.com/in/luisenrique-chavarria-5864a4240](Sigueme en linkedIn)
Hola, gente.
Quizá algunos que desarrollamos este curso usando WSL tuvimos este problema. Aquí la solución.Espero ahorrarles las horas que me costó saber como se arreglaba.
Lo que deben hacer es instalar una versión más antigua de Node. Recomiendo en particular la versión 16.20.0 que es LTS (esa me funcionó a mí)
la instalan así:
nvm install 16.20.0
y luego la seleccionan como default con:
nvm alias default 16.20.0
Luego de esto podrán correr de nuevo el adduser y todo funcionará perfectamente
npm link crea un enlace para reconocer el paquete sin publicarlo. el paquete quedará listo para ser testeado.
pwd comando para obtener la ruta donde se ecuentra el paquete
npm install g /ruta/obtenidacon/pwd así instalaremos el paquete en nuestro sistema de forma global para utilizar nuestro comando
random-str-msg con este comando se ejecutará el algortimo de nuestro paquete.
npm adduser comando para iniciar sesión
npm publish publicará nuestro paquete
Ahora en npm podremos validar si ya está subido nuestro paquete.
random-str-msg
, se ejecuta:npm link
pwd
npm install g /ruta-del-proyecto/random-str-msg
random-str-msg
npm link
.random-str-msg
imprime un mensaje aleatorio del array del index.js
.npm adduser
npm publish
Para las personas que al utilizar el comando
npm adduser
Y les devuelve un mensaje con un link, similar a este
root@J:/home/npm/random-words-msg# npm adduser
npm notice Log in on https://registry.npmjs.org/
Create your account at:
https://www.npmjs.com/login?next=/login/cli/636efcd1-xxxx-xxxx-xxxx-c925d9aa068b
Press ENTER to open in the browser...
Deben copiar el link que les devuelve la pagina y loguearse al portal de NPM, les pedira su codigo OTP y despues de eso les saldra el mensaje de:
Logged in on https://registry.npmjs.org/.
Ya estando ahi pueden publicar su paquete con
npm publish
La primera linea que se pone en ./bin/global.js
es para poder ejecutarla con node, sino aparece un error.
#!/usr/bin/env node
si les da un error posiblemente es porque ya existe una librería con un nombre similar, por lo que seria cambiar el name de package.json por el usuario de npm de esta forma
-> “name”: “@user/nombre-de-la-libreria”. y ejecutar npm
publish --access=public
Yo hice un paquete que te cuenta historias cortas de terror 💀, selecione las mejores, chenlo está chido jaja 😄
Así se installa
npm i horror-stories
Así se ejecuta
tell-me
Para agregar usuario en la consola ejecutar el comando:
npm adduser
npm publish
-> Publicar y verificarnpm publish
Si tenemos un método de autenticación diferente como escanear el QR debemos ir a la URL para obtener el OTP
Buenas tardes, comunidad ya tengo mi cuenta en NPM pero no la puedo enlazar con mi terminal, me aparece lo siguiente:
alguien me puede ayudar
Esa terminal del profe como que está media loca. 😅 El comando que quiso ejecutar el profe en el minuto 1:43, es npm install -g ruta-del-paquete y la consola supuestamente ejecutó el nnpm install g ruta-del-paquete y como quiera funcionó. En esta clase anterior, en el minuto 3:40, pasó algo similar. 😅 Bastante curioso y raro; ¿Noh?
Al parecer el adduser se actualizo y ya no pide credenciales en el momento que ejecutas el comando, lo que tienen que hacer es copiar en su navegador el enlace que aparece luego del:
"Create your account at:"
Y listo, les pedira una comprobacion en el navegador y ya quedaran loggeados desde la terminal.
Actualmente, debes poner el OTP cuando vayas a ejecutar el comando, de esta manera:
npm publish --otp=code
De esta forma podrás publicar tu paquete.
compañeros en caso de que les aparesca un error parecido a este
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/random-str-msg - You do not have permission to publish "random-str-msg". 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, or
npm ERR! 403 on a server you do not have access to.
en mi caso lo resolví cambiando el nombre del paquete o bueno del proyecto, cambien el nombre en git hub ademas le canmbie la url del archivo pakage del proyecto y hay adentro le cambian el nombre tambien donde dice "name "hay tambien se lo cambian
Si están en Windows con WSL
.
Tienen que cambiar el símbolo \
por /
Por Ej:
👉🏽 pwd
/c/Users/Francisco/Desktop/Cursos/Carpeta_Principal_Programacion/8_Todointerconectado/npm/random-str-msg-fnc
👉🏽 npm install g C:/Users/Francisco/Desktop/Cursos/Carpeta_Principal_Programacion/8_Todointerconectado/npm/random-str-msg-fnc
Captura 👇🏽
.
Si a la hora de ejecutar npm install -g junto a la ruta donde se encuentra el archivo, les sale un error.
Asegúrense de que los nombres de sus carpetas no contengan espaciados
–> Ejemplo:
Si en su ruta ustedes tienen una carpeta que se llama “proyectos de programacion” deberán cámbienle el nombre a la carpeta eliminando los espacios “proyectosDeProgramacion”
(Es probable que tengan que cerrar visual studio code para poder cambiarle el nombre).
en adduser solo me muestra links, como podria solucionar eso ?
[alternativo si no logea con [add user] / npm login ]
[usando BITBUKET]
Package.json
1-luego de crea el usuario NPM autenticamos con las credenciales creadas en la consola
@virtual-machine:~/Documentos/npm/random-str_msg-fly$ npm login
npm notice Log in on --whttps://registry.npmjs.org/
Login at:
–whttps://www.npmjs.com/login?next=/login/cli/xxxxxxxxxxxxxxxxxxxxxx
Press ENTER to open in the browser…
Username: xx
Password: xx
This operation requires a one-time password.
Enter OTP: xx
Logged in on -whttps://registry.npmjs.org/.
2-luego publicamo en npm
@virtual-machine:~/Documentos/npm/random-str_msg-fly$ npm publish
npm notice
npm notice 📦 [email protected]
npm notice === Tarball Contents ===
npm notice 565B -README.md
npm notice 83B bin/global.js
npm notice 690B package.json
npm notice 695B src/index.js
npm notice === Tarball Details ===
npm notice name: random-str_msg-fly
npm notice version: 1.0.0
npm notice filename: random-str_msg-fly-1.0.0.tgz
npm notice package size: 1.2 kB
npm notice unpacked size: 2.0 kB
npm notice shasum: 28d8663c3f586b17ce3e6bf155efd4fd406a10ee
npm notice integrity: sha512-kjwEjmqCC8p78[…]q4rGnSRBiKCgA==
npm notice total files: 4
npm notice
npm notice Publishing to -whttps://registry.npmjs.org/ with tag latest and default access
+ [email protected]
— quda asi
Aquí mis notas:
Creando un paquete con el manejador de paquetes de node, npm, node package manager.
ACTUALIZAR EL PAQUETE Y VERSIONARLO.
20. 2.0.0, el primer número representa un cambio mayor, el segundo una versión menos y el tercero un parche al reparar algún error en una versión anterior.
21. Cambiamos la lógica del index.js si así lo queremos.
22. El readme debe estar muy bien explicado, con info de qué hace el paquete, como se instala, como se llama, etc.
23. Mandamos todo a github antes de hacer cualquier cambio.
24. versionamos el paquete de la siguiente manera: npm version 1.1.0. Obviamente aquí cambiamos a la versión que toque.
25. npm publish y con esto quedaría subida la nueva versión.
26. Revisamos los cambios en npm.
Un código OTP (One-Time Password) es un código de autenticación de un solo uso que se utiliza para autenticar un usuario en una aplicación o servicio. Como su nombre indica, un código OTP solo se puede utilizar una vez y es válido por un tiempo limitado.
.
El objetivo de un código OTP es proporcionar una capa adicional de seguridad en el proceso de autenticación de un usuario. En lugar de simplemente ingresar un nombre de usuario y una contraseña, el usuario también debe proporcionar un código OTP para completar el proceso de autenticación. El código OTP se genera a menudo por una aplicación en el dispositivo del usuario o se envía por mensaje de texto o correo electrónico.
.
Al utilizar un código OTP, se reduce el riesgo de que un atacante pueda obtener acceso no autorizado a una cuenta, incluso si han obtenido o robado la información de inicio de sesión del usuario.
Publicar un paquete
Ahora probaremos que nuestro paquete cumple con las características y podrá publicarse sin problema:
npm link
Con el comando npm link, verificaremos que no tenga vulnerabilidades y que podrá ser listado dentro de los paquetes _npm _sin problema:
Simulación del paquete
Cuenta npm
Para poder publicar nuestro proyecto tenemos que tener una cuenta npm:
Posterior a crear el usuario, iniciaremos sesión en la consola, con el comando npm adduser:
Publicaremos nuestro paquete con npm publish:
Posterior, podremos verificar que nuestro paquete ha sido subido, desde la página de npm en nuestro usuario, en la sección “Packages”:
mi resultado
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?