以编程方式使用npm在其他节点项目上运行npm install

时间:2018-06-30 01:58:39

标签: node.js npm

我正在编写一个工具,该工具使用package.json生成节点项目。创建完package.json之后,我想从节点脚本中的那个文件夹上运行npm install。

代码中的内容如下:

fs.writeFileSync(outputDir + '/package.json', JSON.stringify({
  "name": _.kebabCase(options.name),
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": generateDependencies()
}, null, 2), 'utf8');

我在线阅读了您可能需要npm并使用它的信息,但是我看到的所有示例都处理了全局安装或当前项目中的安装。

我试图弄清楚npm.load函数是否具有参数,我可以为它提供一个特定的路径,以从中加载node.js项目并在那里进行安装。诸如您如何传递全局参数之类的东西。例如:

const npm = require("npm");

npm.load({
  projectPath: '<path_to_other_project>'
}, function (err) {
  // catch errors
  npm.commands.install(['packageName'], function (er, data) {
  // log the error or data
});

npm.on("log", function (message) {
  // log the progress of the installation
  console.log(message);
});

});

问题在于,以编程方式使用npm的文献不多,我无法在源代码中找到解决方案。

0 个答案:

没有答案