componentjs / component

frontend package manager and build tool for modular web applications
https://github.com/componentjs/guide
MIT License
4.55k stars 306 forks source link

cannot install specific tag version #561

Closed timaschew closed 10 years ago

timaschew commented 10 years ago

I want to install q via component (1.0.0-rc5): component-install techjacker/q

and get this: error : no remote found for dependency "techjacker/q@v0.9.6"

when I enable DEBUG=* I get this lines:

  remotes:local checking folder: /Users/awilhelm/components/techjacker/q +0ms
  remotes:github GET "https://raw.githubusercontent.com/techjacker/q/master/component.json" +0ms
  cogent options: { protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'raw.githubusercontent.com',
  port: null,
  hostname: 'raw.githubusercontent.com',
  hash: null,
  search: null,
  query: null,
  pathname: '/techjacker/q/master/component.json',
  path: '/techjacker/q/master/component.json',
  href: 'https://raw.githubusercontent.com/techjacker/q/master/component.json',
  headers: 
   { 'accept-encoding': 'gzip',
     'user-agent': 'https://github.com/cojs/cogent',
     accept: 'application/json' },
  method: 'GET' } +0ms
  remotes:github GET "https://api.github.com/repos/techjacker/q/tags" +960ms
  cogent options: { protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'api.github.com',
  port: null,
  hostname: 'api.github.com',
  hash: null,
  search: null,
  query: null,
  pathname: '/repos/techjacker/q/tags',
  path: '/repos/techjacker/q/tags',
  href: 'https://api.github.com/repos/techjacker/q/tags',
  headers: 
   { 'accept-encoding': 'gzip',
     'user-agent': 'https://github.com/cojs/cogent',
     accept: 'application/json' },
  method: 'GET' } +958ms
github remote: only 8 requests remaining.
github remote: see https://github.com/component/guide/blob/master/changelogs/1.0.0.md#required-authentication for more information.
  component-resolver:dependencies resolving dependency techjacker/q@v0.9.6 +0ms
  component-resolver:dependencies searching ["local","github","bitbucket"] for techjacker/q@v0.9.6 +0ms
  remotes:local resolving local remote +2s
  remotes:local checking folder: /Users/awilhelm/components/techjacker/q +0ms
  remotes:github GET "https://raw.githubusercontent.com/techjacker/q/v0.9.6/component.json" +1s
  cogent options: { protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'raw.githubusercontent.com',
  port: null,
  hostname: 'raw.githubusercontent.com',
  hash: null,
  search: null,
  query: null,
  pathname: '/techjacker/q/v0.9.6/component.json',
  path: '/techjacker/q/v0.9.6/component.json',
  href: 'https://raw.githubusercontent.com/techjacker/q/v0.9.6/component.json',
  headers: 
   { 'accept-encoding': 'gzip',
     'user-agent': 'https://github.com/cojs/cogent',
     accept: 'application/json' },
  method: 'GET' } +1s
  cogent "https://raw.githubusercontent.com/techjacker/q/v0.9.6/component.json" is not valid JSON +391ms
  remotes:github GET "https://raw.github.com/techjacker/q/v0.9.6/component.json" +392ms

this url is okay https://raw.githubusercontent.com/techjacker/q/master/component.json but not this here: https://raw.githubusercontent.com/techjacker/q/v0.9.6/component.json

url for github tags doesn't work, I think github tags and branches are only accessible via commit hash

jonathanong commented 10 years ago

there's no component.json: https://github.com/techjacker/q/tree/v0.9.6

timaschew commented 10 years ago

they removed the component.json in the tag? or is this normal?

I thought this worked with component 0.19, but there's the same error, but something in my (transitive) dependencies seems to be changed in the last days.

btw: why there is a redirect to the tag v0.9.6, why is the master branch is not used for installation if I run component-install techjacker/q

jonathanong commented 10 years ago

0.19 simply grabbed it from master. 1 actually checks the tags. if you want master, do techjacker/q@master

timaschew commented 10 years ago

ahh, in 0.19 the command is component install that was my mistake ^^

but if q is a transitive dependency, how can I solve this problem in component(1) ?

jonathanong commented 10 years ago

you would have to fork it or something =/ i tend to avoid forks for this reason. imo just point to master for now

timaschew commented 10 years ago

okay thanks :pray: I will figure out the dependency which is using q without explicit master and try to send a PR with explicit master

micky2be commented 10 years ago

Using Master is usually a bad idea I will suggest to fix q instead and to have your dependency pointing to that new version

timaschew commented 10 years ago

but that's the problem, there is no tag/release with a component.json

that's really shitty:

techjacker/q is a outdated fork with a component.json only in the master microjs/q is a more outdated fork with the component.json only in the master kriskowal/q is the origin repository and they don't have inclination to maintain a component.json :scream:

can read it here: https://github.com/kriskowal/q/pull/162

I think that's a reasom to move from q to petkaantonov/bluebird, even it has a better performance