繁体   English   中英

如何使用npm软件包二进制文件而不安装它

[英]How to use an npm package binary without installing it

我正在尝试创建一个CLI工具(在NPM上的Node中),该工具使用Brunch创建一个应用程序。

因此,基本上,预期的行为是用户将键入此内容以安装我的工具:

npm install -g my-cli-tool

然后,要在名为myApp的子目录中创建一个新的Brunch项目,他们将在其终端中运行该项目:

my-cli-tool myApp

早午餐将处理创建应用程序本身的大部分工作。

仅供参考,您可以通过全局安装Brunch( npm install -g brunch ),然后只需键入brunch new myApp来创建Brunch项目。

我已经设置了制作暴露二进制文件的NPM软件包所必需的内容,因此我将其简化为一个脚本。

到目前为止,我已经尝试了以下方法:

#! /usr/bin/env node
var shell = require("shelljs");

if (!process.argv[2]) {
  console.log('You need to supply a name for your app!');
  console.log();
  console.log('Try:');
  console.log('        my-cli-tool <project-name>');
} else {
  var appName = process.argv[2];
  console.log('Your app is now being created...');

  console.log('Installing Brunch...');
  shell.exec('npm install --save brunch');

  console.log('Creating app with Brunch...');
  shell.exec('PATH=$(npm bin):$PATH brunch new ' + appName);

  console.log('Success! Your app is done.');
}

它可以按预期工作,但问题是,安装Brunch( npm install --save brunch )将在当前工作目录内创建一个node_modules文件夹以及package.json文件。

理想情况下,除了创建名为myApp/的文件夹(由Brunch自己完成)以外,我希望当前工作目录保持不变。 本质上,我想使用Brunch来生成应用程序,而无需任何安装Brunch本身的痕迹。

我看了npm pack但不确定如何将其应用于用例。 任何帮助,将不胜感激,谢谢。

  1. 每次创建应用程序时都安装早午餐是很疯狂的
  2. 没有人需要包装纸的包装纸
  3. 解决方案:将早午餐放入your-awsesome-cli-tool的依赖项中,然后从软件包目录中调用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM