节点npm安装到中心位置

时间:2017-08-05 19:52:12

标签: node.js npm npm-install

我想知道是否可以单独安装节点包,然后可以由不同的开发应用程序访问。例如,每当我在使用react应用程序时,我都会执行npm install以获取应用程序所需的所有节点包。但是,似乎这会得到很多不必要的额外内容。有办法吗

  1. 只是按照包文件或
  2. 中的指定获取我的应用程序所需的内容
  3. 将所有内容放入安装文件夹中的node modules文件夹,然后从那里访问包,而无需在每个app文件夹中本地重新安装它们。
  4. 由于我的问题没有得到解答,我添加了以下内容: 让我们说我有以下package.json。如果我导航到我的app.json文件所在的app文件夹并且npm install,那么安装什么内容以及在哪里?我的假设是只安装devDependencies和依赖项中列出的软件包,并且它将在本地安装,因为我没有指定global。那么当我进入我的app中的node_modules文件夹时,为什么会看到数百个其他软件包(下面列表中没有的软件包)?

    我想要的是只安装下面列出的软件包并使它们全局化,这样如果我进入另一个app目录,我就不必重新安装这些软件包了。

    {
      "devDependencies": {
        "babel-eslint": "7.1.1",
        "babel-jest": "18.0.0",
        "concurrently": "3.1.0",
        "enzyme": "2.7.1",
        "eslint": "3.12.1",
        "eslint-config-defaults": "9.0.0",
        "eslint-plugin-react": "6.7.1",
        "jest": "18.1.0",
        "json-server": "0.9.4",
        "react-addons-test-utils": "15.4.2",
        "react-test-renderer": "15.4.2",
        "rimraf": "2.5.4",
        "sass-lint": "1.10.2",
        "tslint": "4.3.1",
        "webpack-dev-server": "2.6.1"
      },
      "dependencies": {
        "bootstrap": "4.0.0-alpha.6",
        "bootstrap-loader": "2.0.0-beta.20",
        "copy-webpack-plugin": "4.0.1",
        "css-loader": "0.26.1",
        "empty": "0.10.1",
        "extract-text-webpack-plugin": "2.0.0-rc.3",
        "file-loader": "0.10.0",
        "html-loader": "0.4.3",
        "html-webpack-plugin": "2.26.0",
        "key-mirror": "1.0.1",
        "lodash": "4.16.2",
        "node-sass": "4.5.0",
        "null-loader": "0.1.1",
        "postcss": "5.2.9",
        "postcss-import": "9.1.0",
        "postcss-loader": "1.2.1",
        "raw-loader": "0.5.1",
        "react": "15.4.2",
        "react-addons-css-transition-group": "15.4.2",
        "react-dom": "15.4.2",
        "react-redux": "5.0.2",
        "react-router": "3.0.0",
        "react-router-redux": "4.0.7",
        "redux": "3.6.0",
        "redux-thunk": "2.1.0",
        "resolve-url-loader": "1.6.1",
        "sass-loader": "5.0.1",
        "style-loader": "0.13.1",
        "ts-loader": "1.3.3",
        "typescript": "2.1.4",
        "url-loader": "0.5.7",
        "webpack": "2.2.1",
        "whatwg-fetch": "2.0.3"
      },
     }
    

2 个答案:

答案 0 :(得分:0)

这正是全球程序包的用途。 npm i -g <package>i recommend using nvm to manage your different node versions。这样,您可以根据版本使用不同的全局包。您甚至可以为多个安装设置别名。

答案 1 :(得分:0)

您可以全局安装nodeJs,然后为您需要的软件包执行npm install并将其保存在package.json中。通过这种方式,您可以知道下次要安装哪些软件包,并且只需要安装npm。