jfrog / bower-art-resolver

Apache License 2.0
15 stars 17 forks source link

Cannot read property 'registry' of undefined #19

Closed makearl closed 8 years ago

makearl commented 8 years ago

I'm trying to install bower packages from a local Artifactory repo. When I try to install a package that I have tarred and uploaded to my repo, I get the following error:

error Cannot read property 'registry' of undefined

Stack trace:
TypeError: Cannot read property 'registry' of undefined
    at Function.ArtifactoryResolver.extractArtifactoryRegistry (/usr/local/lib/node_modules/bower-art-resolver/lib/index.js:304:25)
    at ArtifactoryResolver (/usr/local/lib/node_modules/bower-art-resolver/lib/index.js:21:60)
    at pluginResolverFactory (/usr/local/lib/node_modules/bower/lib/core/resolvers/pluginResolverFactory.js:18:20)
    at /usr/local/lib/node_modules/bower/lib/core/resolverFactory.js:70:28
    at Array.map (native)
    at /usr/local/lib/node_modules/bower/lib/core/resolverFactory.js:58:46
    at /usr/local/lib/node_modules/bower/lib/core/resolverFactory.js:35:24
    at _fulfilled (/usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:796:13)

Console trace:
Error
    at StandardRenderer.error (/usr/local/lib/node_modules/bower/lib/renderers/StandardRenderer.js:81:37)
    at Logger.<anonymous> (/usr/local/lib/node_modules/bower/lib/bin/bower.js:110:26)
    at emitOne (events.js:77:13)
    at Logger.emit (events.js:169:7)
    at Logger.emit (/usr/local/lib/node_modules/bower/lib/node_modules/bower-logger/lib/Logger.js:29:39)
    at /usr/local/lib/node_modules/bower/lib/commands/index.js:48:20
    at _rejected (/usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:844:24)
    at /usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:870:30
    at Promise.when (/usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:1122:31)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/bower/lib/node_modules/q/q.js:788:41)
System info:
Bower version: 1.7.9
Node version: 4.4.1
OS: Darwin 15.2.0 x64

Here's what my .bowerrc looks like:

{
  "directory": "bower_components",
  "registry": {
    "search": [
      "http://localhost:8081/artifactory/api/bower/bower-local",
      "https://bower.herokuapp.com"
    ]
  },
  "resolvers": [
    "bower-art-resolver"
  ]
}

Any thoughts on how to resolve this error? We are trying this out on Artifactory version 4.7.6

makearl commented 8 years ago

I am using nvm, when I npm installed bower-art-resolver it installed into the correct directory (.nvm/versions/node/v4.4.1/lib/node_modules/bower-art-resolver) however when running bower install it tried to resolve to an old version of the bower-art-resolver that I had installed a long time ago in my /usr/local/lib/node_modules directory (1.0.5-beta).

Deleting /usr/local/lib/node_modules/bower-art-resolver resolved my issue