NPM 包安装受影响的依赖项列表

NPM Package Install Affected Dependencies List

这可能是一个关于 npm 的完全菜鸟问题,但我想知道如何提取安装时将要安装的依赖项,例如使用 dry-运行.

原因是我想在实际执行安装之前知道要安装哪些包。

通过这种方式,我可以确保避免一个特定的包,如果我想这样定义的话。

你可以使用这样的东西,

在您的 package.json 文件中添加自定义“安装”脚本。

{
  "name": "custominstall",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "custom-install": "node custom-install"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "nodemon": "^2.0.6"
  }
}

在您的根目录中创建 custom-install.js

const { execSync } = require('child_process');

const packageJson = require('./package.json');

if (!packageJson.devDependencies.hasOwnProperty('nodemon')) {
    execSync(
        'npm install',
        {
            stdio: [
                0,
                1,
                2
            ]
        }
    );
} else {
    throw new Error('nodemon package should not be used in this project!');
}

此示例代码检查 nodemon 包是否已用作 devDependency。如果使用它会抛出错误。运行 npm install 并在未使用时向您显示命令的输出。

您可以根据需要自定义它。

像这样使用

npm run custom-install

您可以在安装包之前检查包的依赖关系图。 通过安装 rnp-remote-ls: https://www.npmjs.com/package/npm-remote-ls

首先你要全局安装模块:

npm install -g npm-remote-ls

第二个你运行:

npm-remote-ls <packagename>