instalar - npm version
npm publish ofrece "los paquetes sin ámbito no pueden ser privados" (2)
Con todos los créditos para @ mb21 y su solución, hay una pequeña adición a su respuesta.
La propuesta
npm publish --access public
funciona perfectamente.
Sin embargo, no siempre es posible hacer que funcione en el entorno de CI, por ejemplo, cuando se utiliza
semantic-release
.
La solución adecuada sería utilizar el mismo parámetro de
access
pero dentro de su
package.json
s
publishConfig
(por cierto, esto también facilita la publicación manual en el futuro):
{
"name": "...",
...
"publishConfig": {
"access": "public"
}
}
Y ahora puedes usarlo dentro de las herramientas de CI o simplemente
npm publish
Me costó algo de tiempo resolver esto, así que espero que ahorre algo de tiempo para los futuros lectores.
Quiero publicar un paquete público normal a npm.
Cuando hago
npm publish
me sale:
npm ERR! publish Failed PUT 400
npm ERR! code E400
npm ERR! unscoped packages cannot be private : my-package
Parece que (a partir de noviembre de 2018), tienes que hacer:
npm publish --access public
Esto le indica al registro de npm que desea que todos puedan descargar su paquete. Esto solía ser el valor predeterminado, y de la documentation aún debería estarlo, por lo que probablemente sea solo un error en npm. Hay algo más, documentación no muy bien escrita sobre paquetes con alcance / sin ámbito y público / privado .
En lugar de usar
--access
, también puede agregar la configuración a su
package.json
, como se ve en la respuesta de @ smnbbrv a continuación.
Pero si estoy en lo cierto, esto es solo un error, es posible que desee utilizar
--access
como una solución temporal.