una tablas tabla remove npmrc from false example ejemplos datos con agregar javascript node.js npm

javascript - tablas - utilizando myproject/.npmrc con registro



npmrc registry (3)

¿Cómo configuro un archivo .npmrc dentro de mi proyecto donde puedo definir mi propio registro privado? No quiero tener este tipo de configuración en mi configuración de usuario .npmrc. Todos los demás desarrolladores deberían poder git clone el proyecto y ejecutar la npm install .

Esto es lo que tengo hasta ahora:

// .npmrc registry=https://npm.fury.io/AUTH_TOKEN/me/ // package.json: { "name": "webapp", "description": "", "version": "1.0.0", "private": true, "dependencies": { "jquery": "1.2.3", "myPrivateLibFromNpmFury": "0.0.4" } }

npm install myPrivateLibFromNpmFury

devoluciones

npm ERR! 404 Registry returned 404 for GET on https://registry.npmjs.org/myPrivateLibFromNpmFury


Como lo señalaron @Paulpro y @Alexey B. la mayoría de las partes ya funcionaban, pero no pude verlo de inmediato, tal vez porque no volví a cargar mi entorno bash correctamente. Pero después de eso me enfrenté a otro problema con npm outdated que fue causado por la URL del registro. Resulta que npm solo puede tener una url de registro, (lo cual es una locura) y si quieres usar módulos privados y públicos de npm, tienes que utilizar el registro público de npm-module a través de tu registro privado. Afortunadamente, furia.io lo admite, así que en mi caso en lugar de usar esto:

//.npmrc registry=https://npm.fury.io/AUTH_TOKEN/me/

tengo que usar esto:

//.npmrc registry=https://npm-proxy.fury.io/AUTH_TOKEN/USER_NAME/

ACTUALIZACIÓN : Es posible evitar el problema (npm está vinculado a un solo registro). Primero, debe agregar un scope a todos sus paquetes privados. Ahora con .npmrc puede vincular los registros para los ámbitos y ya no necesita ningún proxy.

//.npmrc @project_a:registry=https://npm.fury.io/AUTH_TOKEN/USER_NAME/ @project_b:registry=https://npm.fury.io/AUTH_TOKEN/USER_NAME/ @company_a:registry=https://npm.fury.io/AUTH_TOKEN/USER_NAME/


Debe usar el proxy sin fisuras:

registry=https://npm-proxy.fury.io/AUTH_TOKEN/me/


Notado a los documentos

Archivo de configuración por proyecto

Cuando trabaje localmente en un proyecto, un archivo .npmrc en la raíz del proyecto (es decir, un hermano de node_modules y package.json) establecerá valores de configuración específicos para este proyecto.

Tenga en cuenta que esto solo se aplica a la raíz del proyecto en el que está ejecutando npm. No tiene ningún efecto cuando se publica su módulo. Por ejemplo, no puede publicar un módulo que se fuerce a instalar de forma global o en una ubicación diferente.

Intenté crear los archivos que especificó en la pregunta (package.json y .npmrc), todo funciona bien. ¿Quizás hiciste un error tipográfico en alguna parte?

frgt$ npm i myPrivateLibFromNpmFury --verbose npm info using [email protected] npm info using [email protected] npm verb request uri https://npm.fury.io/AUTH_TOKEN/me/myPrivateLibFromNpmFury npm verb request no auth needed npm info attempt registry request try #1 at 14:36:10 npm verb request id 23f09acc4e7021c7 npm http request GET https://npm.fury.io/AUTH_TOKEN/me/myPrivateLibFromNpmFury npm http 403 https://npm.fury.io/AUTH_TOKEN/me/myPrivateLibFromNpmFury