I'm working with a replica of the public npm registry, which has been working great so far. However, today I got an error on `npm owner add <user> <pkg>`, which I can't explain. I've used the same command for other usernames previously without error.
`npm login` works for that username, so the user is definitely in the registry. However, it's returning a 404 response:
$ npm owner add <user> <pkg>
npm http GET http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
npm http 404 http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
npm ERR! owner mutate Error getting user data for <user>
npm ERR! System Darwin 13.0.0
npm ERR! command "/Users/lharper/.nvm/v0.8.26/bin/node" "/Users/lharper/.nvm/v0.8.26/bin/npm" "owner" "add" "<user>" "<pkg>"
npm ERR! cwd /Users/lharper
npm ERR! node -v v0.8.26
npm ERR! npm -v 1.2.30
npm ERR! code E404
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/lharper/npm-debug.log
npm ERR! not ok code 0
If I hit that same URL using curl, I get back the user document. So why is npm seeing a 404 response? Is it maybe including authentication credentials on that request? (when I hit the URL with curl I'm not supplying any credentials.)
I've included the npm-debug.log output below, which shows the versions of npm/node/couchdb used. I should also note that CouchDB is configured in 'admin party' mode -- no admin credentials required to access it. Perhaps also relevant, `npm login` (for any user) is showing a 409 response for the PUT to the main couch _users entry:
$ npm login
Username: (<user>)
Email: (<email>)
npm http PUT http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
npm http 409 http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
npm http GET http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
npm http 200 http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
npm http PUT http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>/-rev/12-2797a6097d00170aea9bdb004aac74bc
npm http 201 http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>/-rev/12-2797a6097d00170aea9bdb004aac74bc
I'm not sure if that's normal or not?
Anyway, here's npm-debug.log:
0 info it worked if it ends with ok
1 verbose cli [ '/Users/lharper/.nvm/v0.8.26/bin/node',
1 verbose cli '/Users/lharper/.nvm/v0.8.26/bin/npm',
1 verbose cli 'owner',
1 verbose cli 'add',
1 verbose cli '<user>',
1 verbose cli '<pkg>' ]
2 info using n...@1.2.30
3 info using no...@v0.8.26
4 verbose owner add <user> to <pkg>
5 verbose url raw /-/user/org.couchdb.user:<user>
6 verbose url resolving [ 'http://<host>:5984/registry/_design/app/_rewrite/',
6 verbose url resolving './-/user/org.couchdb.user:<user>' ]
7 verbose url resolved http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
8 info trying registry request attempt 1 at 18:36:04
9 http GET http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
10 http 404 http://<host>:5984/registry/_design/app/_rewrite/-/user/org.couchdb.user:<user>
11 silly registry.get cb [ 404,
11 silly registry.get { server: 'CouchDB/1.3.0 (Erlang OTP/R15B02)',
11 silly registry.get date: 'Tue, 04 Feb 2014 23:36:04 GMT',
11 silly registry.get 'content-type': 'application/json',
11 silly registry.get 'content-length': '41',
11 silly registry.get 'cache-control': 'must-revalidate' } ]
12 error owner mutate Error getting user data for <user>
13 error System Darwin 13.0.0
14 error command "/Users/lharper/.nvm/v0.8.26/bin/node" "/Users/lharper/.nvm/v0.8.26/bin/npm" "owner" "add" "<user>" "<pkg>"
15 error cwd /Users/lharper
16 error node -v v0.8.26
17 error npm -v 1.2.30
18 error code E404
19 verbose exit [ 1, true ]