在安装npm模块之前是否需要有一个package.json文件?

我基本上有一个完全空的文件夹,有一个文件, test.js 。 我想安装几个模块,但是当我尝试做像npm install express这样的错误时,我得到一个错误,说我没有package.json文件。

 $ npm install express > node-icu-charset-detector@0.1.3 install /Users/me/node_modules/node-icu-charset-detector > node-gyp rebuild CXX(target) Release/obj.target/node-icu-charset-detector/node-icu-charset-detector.o ../node-icu-charset-detector.cpp:7:10: fatal error: 'unicode/ucsdet.h' file not found #include <unicode/ucsdet.h> ^ 1 error generated. make: *** [Release/obj.target/node-icu-charset-detector/node-icu-charset-detector.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Darwin 15.0.0 gyp ERR! command "/usr/local/Cellar/node/5.1.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/me/node_modules/node-icu-charset-detector gyp ERR! node -v v5.1.0 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok npm WARN install:node-icu-charset-detector@0.1.3 node-icu-charset-detector@0.1.3 install: `node-gyp rebuild` npm WARN install:node-icu-charset-detector@0.1.3 Exit status 1 /Users/me ├── express@4.13.3 ├── UNMET PEER DEPENDENCY react@>=0.14.0 <0.15.0 └── UNMET PEER DEPENDENCY react-dom@>=0.14.0 <0.15.0 npm WARN ENOENT ENOENT: no such file or directory, open '/Users/me/package.json' npm WARN EPEERINVALID mongoskin@1.4.13 requires a peer of mongodb@~1.4 but none was installed. npm WARN EPEERINVALID react-router-component@0.28.0 requires a peer of react@>=0.14.0 <0.15.0 but none was installed. npm WARN EPEERINVALID react-router-component@0.28.0 requires a peer of react-dom@>=0.14.0 <0.15.0 but none was installed. npm WARN EPEERINVALID react-tap-event-plugin@0.2.1 requires a peer of react@^0.14.0 but none was installed. npm WARN EPACKAGEJSON me No description npm WARN EPACKAGEJSON me No repository field. npm WARN EPACKAGEJSON me No README data npm WARN EPACKAGEJSON me No license field. 

基本上有三种主要的npm installforms:

  1. npm install :读取package.json ,并将其中的所有内容安装到此目录中。
  2. npm install express :安装到这个目录下。
  3. npm install --save express :安装到这个目录下,并保存到package.json中。

第二种forms不需要在这里存在package.json

 $ npm install express express@4.13.3 node_modules/express ├── escape-html@1.0.2 ├── array-flatten@1.1.1 ... 

如果您收到错误消息,则说明有其他错误。

不,不需要package.json。

  1. 您可以在npm install命中的模块中包含多个不同的模块名称。

  2. 您可以更好地控制模块的版本

  3. 你可以分开像依赖和开发依赖的模块

为你'npm安装快递'将为你安装快递模块。

请注意:如果您使用的是有限范围的软件包范围软件包恐怕是这样。