在使用 monorepo 管理的项目中,如果你的可执行文件被安装在 npm 根目录中,你可以通过以下几种方式从任何地方使用它:
npx
npx
是 npm 5.2.0 及以上版本附带的一个工具,它可以运行本地安装的包的可执行文件,而不需要全局安装。
npx your-executable
如果你的可执行文件名不是默认导出的,或者你想传递参数给它,你可以这样做:
npx your-package-name your-executable --arg1 value1 --arg2 value2
npm exec
从 npm 7 开始,你可以使用 npm exec
命令来运行本地安装的包的可执行文件。
npm exec your-executable
同样,如果你需要传递参数,可以这样做:
npm exec your-package-name your-executable -- arg1 value1 --arg2 value2
yarn
如果你使用的是 Yarn 作为包管理器,你可以使用 yarn run
命令来运行本地安装的包的可执行文件。
yarn run your-executable
如果你的可执行文件不在 package.json
的 scripts
部分定义,你可以直接运行:
yarn exec your-package-name your-execative
你也可以通过找到可执行文件的绝对路径来运行它。首先,你需要找到可执行文件的位置。通常,它会在 node_modules/.bin
目录下。
./node_modules/.bin/your-executable
如果你在不同的目录下工作,可以使用 npm bin
或 yarn bin
来找到当前包的 .bin
目录。
$(npm bin)/your-executable
# 或者
$(yarn bin)/your-executable
你可以在你的 shell 配置文件(如 .bashrc
, .zshrc
)中添加 node_modules/.bin
目录到你的 PATH
环境变量中,这样你就可以在任何地方直接运行可执行文件。
export PATH="./node_modules/.bin:$PATH"
然后,你可以直接运行:
your-executable
请注意,这种方法可能会在不同的项目目录中引起冲突,因此建议仅在本地开发环境中使用。
选择哪种方法取决于你的具体需求和你使用的工具链。通常,npx
和 npm exec
是最方便的方法,因为它们不需要修改环境变量,并且可以自动处理依赖关系。
云+社区技术沙龙[第21期]
Techo Day
云+社区技术沙龙[第15期]
云+社区技术沙龙[第27期]
云+社区技术沙龙[第7期]
北极星训练营
云+社区技术沙龙[第10期]
云+社区技术沙龙[第14期]
Elastic 中国开发者大会
企业创新在线学堂
领取专属 10元无门槛券
手把手带您无忧上云