deps/npm/lib/build.js
function dependencyLink (pkg, cb) {
  var dependencies = path.join(npm.dir, pkg.name, pkg.version, "node_modules")
    , depBin = path.join(npm.dir, pkg.name, pkg.version, "dep-bin")
  asyncMap(pkg._resolvedDeps, function (dep, cb) {
    log.silly(dep, "dependency")
    var fromRoot = path.join(npm.dir, dep.name, dep.version)
      , dependsOn = path.join( npm.dir, pkg.name, pkg.version
                             , "dependson", dep.name + "@" + dep.version
                             )
    link(fromRoot, dependsOn, cb)
  }, function (dep, cb) {
    var depDir = path.join(npm.dir, dep.name, dep.version, "package")
    readJson(path.join(depDir, "package.json"), function (er, dep) {
      if (er) return cb(er)
      loadPackageDefaults(dep, function (er, dep) {
        if (er) return cb(er)
        asyncMap([dep], function (dep) {
          var toLib = path.join(dependencies, dep.name)
          linkModules(dep, toLib, cb)
        }, function (dep, cb) {
          // link the bins to this pkg's "dep-bin" folder.
          linkBins(dep, depBin, false, cb)
        }, cb)
      })
    })
  }, cb)
}
function dependencyLink (pkg, cb) {
  var dependencies = path.join(npm.dir, pkg.name, pkg.version, "node_modules")
    , depBin = path.join(npm.dir, pkg.name, pkg.version, "dep-bin")
  asyncMap(pkg._resolvedDeps, function (dep, cb) {
    log.silly(dep, "dependency")
    var fromRoot = path.join(npm.dir, dep.name, dep.version)
      , dependsOn = path.join( npm.dir, pkg.name, pkg.version
                             , "dependson", dep.name + "@" + dep.version
                             )
    link(fromRoot, dependsOn, cb)
  }, function (dep, cb) {
    var depDir = path.join(npm.dir, dep.name, dep.version, "package")
    readJson(path.join(depDir, "package.json"), function (er, dep) {
      if (er) return cb(er)
      loadPackageDefaults(dep, function (er, dep) {
        if (er) return cb(er)
        asyncMap([dep], function (dep) {
          var toLib = path.join(dependencies, dep.name)
          linkModules(dep, toLib, cb)
        }, function (dep, cb) {
          // link the bins to this pkg's "dep-bin" folder.
          linkBins(dep, depBin, false, cb)
        }, cb)
      })
    })
  }, cb)
}
function dependencyLink ( pkg , cb ) { var dependencies = path . join ( npm . dir , pkg . name , pkg . version , "node_modules" ) , depBin = path . join ( npm . dir , pkg . name , pkg . version , "dep-bin" ) asyncMap ( pkg . _resolvedDeps , function ( dep , cb ) { log . silly ( dep , "dependency" ) var fromRoot = path . join ( npm . dir , dep . name , dep . version ) , dependsOn = path . join ( npm . dir , pkg . name , pkg . version , "dependson" , dep . name + "@" + dep . version ) link ( fromRoot , dependsOn , cb ) } , function ( dep , cb ) { var depDir = path . join ( npm . dir , dep . name , dep . version , "package" ) readJson ( path . join ( depDir , "package.json" ) , function ( er , dep ) { if ( er ) return cb ( er ) loadPackageDefaults ( dep , function ( er , dep ) { if ( er ) return cb ( er ) asyncMap ( [ dep ] , function ( dep ) { var toLib = path . join ( dependencies , dep . name ) linkModules ( dep , toLib , cb ) } , function ( dep , cb ) { // link the bins to this pkg's "dep-bin" folder. linkBins ( dep , depBin , false , cb ) } , cb ) } ) } ) } , cb ) }
link each dep into this pkg's "node_modules" folder
link each dep into this pkg s node_modules folder