Хорошо, поэтому мне удалось получить частный реестр npm с помощью Sinopia. Но я ничего не могу опубликовать.
TL; DR: Sinopia не поддерживает npm adduser, но имеет своего собственного пользователя управление. Также npm требует действительного пользователя, созданного до публикации npm через npm adduser, который терпит неудачу, поскольку внутренний сервер Sinopia выдает ошибку при неподдерживаемой команде....
Как использовать Sinopia как частный реестр с правильными пользователями и паролями
- создать глобального пользователя в npmjs.org, а затем другой с тем же паролем в Sinopia?
- Или есть более простой способ сказать npm просто использовать фиксированный пользователь/пропуск.
- Или даже лучше подскажите мне как-то для имени пользователя и пароля?
- что-то еще?
Сводка:
Sinopia не зависит от Couch.DB и будет извлекать пакеты, которые у него еще нет у мастера (по умолчанию это глобальный npmjs.org).
Sinopia отлично работает и настроена на прослушивание всех интерфейсов. Он работает чудесами в обслуживании пакетов
npm install
Я даже настроил ~/.npmrc, чтобы всегда указывать на внутренний реестр.
Все файлы package.json для всех проектов установлены на
....
"publishConfig" : {
"registry" : "http://internal-npm:4873"
},
....
Также мне удалось добавить пользовательских пользователей в синопию, манипулируя config.yaml с помощью js-yaml
crypto.createHash('sha1').update('theBigPassword').digest('hex')
Теперь я застрял в
npm --registry=http://internal-npm:4873 --ca=null publish
После долгого ожидания я получаю:
npm ERR! need auth auth and email required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`
npm ERR! System Linux 3.11.0-18-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "--registry=http://internal-npm:4873" "--ca=null" "publish"
npm ERR! cwd /home/ciprian/workspace/netop-npm
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR! code ENEEDAUTH
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ciprian/workspace/netop-npm/npm-debug.log
npm ERR! not ok code 0
Бизнес-конец файла журнала сообщает мне, что пользователь не является необязательным
86 error need auth auth and email required for publishing
86 error need auth You need to authorize this machine using `npm adduser`
87 error System Linux 3.11.0-18-generic
88 error command "/usr/bin/nodejs" "/usr/bin/npm" "--registry=http://internal-npm:4873" "--ca=null" "publish"
89 error cwd /home/ciprian/workspace/netop-npm
90 error node -v v0.10.15
91 error npm -v 1.2.18
92 error code ENEEDAUTH
93 verbose exit [ 1, true ]
Теперь проблема курица и яйцо заключается в том, что Sinopia не поддерживает npm adduser
, но имеет собственное управление пользователями, как я упоминал выше. Кроме того, npm требует действительного пользователя, созданного с помощью npm adduser
, который терпит неудачу, потому что внутренний сервер Sinopia выдает ошибку при неподдерживаемой команде.