【问题标题】:npm install , installs package not even listed in my package.json filenpm install ,安装包甚至没有在我的 package.json 文件中列出
【发布时间】:2015-12-29 14:50:27
【问题描述】:

我是 NodeJS 的新手,刚刚克隆了代码并检查了我的 node_modules 文件夹,该文件夹安装了近 100 个依赖项。这是我的目录结构

node_modules/
├── accepts
├── after
│   └── test
├── ansi-regex
├── ansi-styles
├── arraybuffer.slice
│   └── test
├── array-flatten
├── asn1
│   ├── lib
│   │   └── ber
│   └── tst
│       └── ber
├── assert-plus
├── async
│   ├── lib
│   └── support
├── aws-sign2
├── backo2
│   └── test
├── base64-arraybuffer
│   ├── lib
│   └── test
├── base64id
│   └── lib
├── base64-url
├── benchmark
│   ├── doc
│   └── test
├── better-assert
├── bindings
├── bl
│   ├── node_modules
│   │   └── readable-stream
│   │       ├── doc
│   │       │   └── wg-meetings
│   │       └── lib
│   └── test
├── blob
│   └── test
├── bluebird
│   └── js
│       ├── browser
│       └── main
├── body-parser
│   └── lib
│       └── types
├── boom
│   ├── images
│   ├── lib
│   └── test
├── bson
│   ├── alternate_parsers
│   ├── browser_build
│   ├── lib
│   │   └── bson
│   │       └── parser
│   └── tools
├── bufferutil
│   ├── build
│   │   └── Release
│   │       └── obj.target
│   │           └── bufferutil
│   │               └── src
│   └── src
├── bytes
├── callsite
├── caseless
├── chalk
├── combined-stream
│   └── lib
├── commander
├── component-bind
├── component-emitter
├── component-inherit
│   └── test
├── connect-mongodb-session
│   └── test
├── content-disposition
├── content-type
├── cookie
├── cookie-parser
├── cookie-signature
├── core-util-is
│   └── lib
├── crc
│   └── lib
├── cryptiles
│   ├── lib
│   └── test
├── dashdash
│   └── lib
├── debug
├── delayed-stream
│   └── lib
├── depd
│   └── lib
│       ├── browser
│       └── compat
├── destroy
├── ecc-jsbn
│   └── lib
├── ee-first
├── engine.io
│   ├── lib
│   │   └── transports
│   └── node_modules
│       ├── debug
│       └── ms
├── engine.io-client
│   ├── lib
│   │   └── transports
│   └── node_modules
│       ├── debug
│       ├── ms
│       └── parseuri
├── engine.io-parser
│   └── lib
├── es6-promise
│   ├── dist
│   └── lib
│       └── es6-promise
│           └── promise
├── escape-html
├── escape-string-regexp
├── etag
├── express
│   ├── lib
│   │   ├── middleware
│   │   └── router
│   └── node_modules
│       ├── cookie
│       ├── depd
│       │   └── lib
│       │       └── compat
│       └── qs
│           ├── lib
│           └── test
├── express-session
│   ├── node_modules
│   │   └── cookie
│   └── session
├── extend
├── extsprintf
│   ├── examples
│   └── lib
├── finalhandler
├── flushwritable
│   ├── lib
│   └── test
├── forever-agent
├── form-data
│   ├── lib
│   └── node_modules
│       └── async
│           ├── dist
│           └── lib
├── forwarded
├── fresh
├── generate-function
├── generate-object-property
├── global
│   └── test
├── graceful-readlink
├── gridfs-stream
│   ├── lib
│   └── test
│       └── fixtures
├── har-validator
│   ├── bin
│   └── lib
│       └── schemas
├── has-ansi
├── has-binary
│   └── fixtures
├── has-binary-data
│   └── fixtures
├── has-cors
├── hawk
│   ├── dist
│   ├── example
│   ├── images
│   ├── lib
│   └── test
├── hoek
│   ├── images
│   ├── lib
│   └── test
│       └── modules
├── hooks-fixed
├── http-errors
├── http-signature
│   └── lib
├── iconv-lite
│   ├── encodings
│   │   └── tables
│   └── lib
├── indexof
├── inherits
├── ipaddr.js
│   ├── lib
│   ├── src
│   └── test
├── isarray
│   └── build
├── is-my-json-valid
│   └── test
│       ├── fixtures
│       └── json-schema-draft4
├── is-property
├── isstream
├── is-typedarray
├── jodid25519
│   └── lib
├── jsbn
├── json3
│   ├── coverage
│   │   └── lcov-report
│   │       └── lib
│   └── lib
├── jsonpointer
├── json-schema
│   ├── draft-00
│   ├── draft-01
│   ├── draft-02
│   ├── draft-03
│   │   └── examples
│   ├── draft-04
│   ├── lib
│   └── test
├── json-stringify-safe
│   └── test
├── jsprim
│   └── lib
├── kareem
│   └── test
├── lodash
│   ├── array
│   ├── chain
│   ├── collection
│   ├── date
│   ├── function
│   ├── internal
│   ├── lang
│   ├── math
│   ├── number
│   ├── object
│   ├── string
│   └── utility
├── media-typer
├── merge-descriptors
├── methods
├── mime
│   └── build
├── mime-db
├── mime-types
├── moment
│   ├── locale
│   └── min
├── mongodb
│   ├── lib
│   │   ├── bulk
│   │   ├── gridfs
│   │   └── gridfs-stream
│   └── test_boot
│       └── data
│           └── diagnostic.data
├── mongodb-core
│   └── lib
│       ├── auth
│       ├── connection
│       ├── tools
│       ├── topologies
│       │   └── strategies
│       └── wireprotocol
├── mongoose
│   ├── examples
│   │   ├── aggregate
│   │   ├── express
│   │   │   └── connection-sharing
│   │   ├── geospatial
│   │   ├── globalschemas
│   │   ├── lean
│   │   ├── mapreduce
│   │   ├── population
│   │   ├── promises
│   │   ├── querybuilder
│   │   ├── replicasets
│   │   ├── schema
│   │   │   └── storing-schemas-as-json
│   │   └── statics
│   ├── lib
│   │   ├── drivers
│   │   │   ├── browser
│   │   │   └── node-mongodb-native
│   │   ├── error
│   │   ├── schema
│   │   │   └── operators
│   │   ├── services
│   │   └── types
│   └── node_modules
│       ├── async
│       │   └── lib
│       └── bson
│           ├── alternate_parsers
│           ├── browser_build
│           ├── lib
│           │   └── bson
│           │       └── parser
│           └── tools
├── mpath
│   ├── lib
│   └── test
├── mpromise
│   ├── lib
│   └── test
├── mquery
│   ├── lib
│   │   └── collection
│   └── test
│       └── collection
├── ms
├── muri
│   ├── lib
│   └── test
├── nan
│   ├── doc
│   └── tools
├── negotiator
│   └── lib
├── node-gcm
│   ├── lib
│   └── node_modules
│       └── debug
│           └── lib
├── node-uuid
│   ├── benchmark
│   ├── bin
│   └── test
├── oauth
│   ├── examples
│   │   └── express-gdata
│   │       └── views
│   ├── lib
│   └── tests
├── oauth-sign
├── object-component
│   └── test
├── object-keys
├── on-finished
├── on-headers
├── options
│   └── lib
├── parsejson
├── parseqs
├── parseuri
├── parseurl
├── passport
│   └── lib
│       ├── errors
│       ├── framework
│       ├── http
│       ├── middleware
│       └── strategies
├── passport-facebook
│   └── lib
│       └── errors
├── passport-local
│   └── lib
├── passport-oauth2
│   └── lib
│       └── errors
├── passport-strategy
│   └── lib
├── password-hash
│   ├── bin
│   ├── lib
│   └── test
├── path-to-regexp
├── pause
├── pinkie
├── pinkie-promise
├── process-nextick-args
├── proxy-addr
├── qs
│   ├── dist
│   ├── lib
│   └── test
├── random-key
├── range-parser
├── raw-body
├── readable-stream
│   └── lib
├── regexp-clone
│   └── test
├── request
│   └── lib
├── send
│   └── node_modules
│       └── depd
│           └── lib
│               └── compat
├── serve-static
├── sliced
│   ├── lib
│   └── test
├── sntp
│   ├── examples
│   ├── lib
│   └── test
├── socket.io
│   ├── lib
│   └── node_modules
│       ├── debug
│       └── ms
├── socket.io-adapter
│   └── node_modules
│       ├── debug
│       ├── ms
│       └── socket.io-parser
│           ├── bench
│           └── node_modules
│               └── debug
│                   └── lib
├── socket.io-client
│   ├── lib
│   └── node_modules
│       └── debug
│           └── lib
├── socket.io-parser
│   ├── bench
│   └── node_modules
│       └── debug
│           └── lib
├── sshpk
│   ├── bin
│   ├── lib
│   │   └── formats
│   └── node_modules
│       └── assert-plus
├── statuses
├── string_decoder
├── stringstream
├── strip-ansi
├── supports-color
├── to-array
├── tough-cookie
│   └── lib
├── tunnel-agent
├── tweetnacl
├── type-is
├── uid2
├── uid-safe
├── ultron
├── unpipe
├── utf8
│   └── tests
├── utf-8-validate
│   ├── build
│   │   └── Release
│   │       └── obj.target
│   │           └── validation
│   │               └── src
│   └── src
├── util-deprecate
├── utils-merge
├── vary
├── verror
│   ├── examples
│   ├── lib
│   └── tests
├── ws
│   └── lib
├── xmlhttprequest
│   ├── example
│   ├── lib
│   └── tests
└── xtend

这是我的 package.json

{
  "name": "my-api",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "async": "^0.9.0",
    "body-parser": "^1.12.0",
    "cookie-parser": "^1.3.4",
    "express": "latest",
    "express-session": "^1.11.1",
    "gridfs-stream": "latest",
    "moment": "^2.10.6",
    "mongoose": "latest",
    "node-gcm": "latest",
    "passport": "^0.2.1",
    "passport-facebook": "latest",
    "passport-local": "latest",
    "password-hash": "^1.2.2",
    "random-key": "^0.3.2",
    "socket.io": "^1.3.5",
    "connect-mongodb-session" : "latest"
  }
}

它有什么问题?我的朋友有相同的项目,但在他的 node_modules 中只创建了 package.json 中提到的文件夹。

【问题讨论】:

  • 那些可能只是依赖关系
  • 是的,但这是一个新功能吗?因为几天前我在朋友的笔记本电脑上做了同样的事情,而且效果很好......这是我第一次看到这个

标签: node.js npm


【解决方案1】:

它们是依赖项的依赖项-

例子:

你依赖 express。
这反过来又依赖于several packages 它们中的每一个都有依赖关系,依此类推...

当您npm install 时,需要将整个依赖图下载到您的 node_modules 文件夹中

http://npm.anvaka.com/#/view/2d/express 是一个很好的可视化 express 依赖图的 itneractive 工具

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2020-12-26
    • 2018-11-18
    • 1970-01-01
    • 2021-07-23
    相关资源
    最近更新 更多