如何在Kotlin/JS项目中使用内置本地Node执行命令
Kotlin/JS内置Node环境直接调用方法
完全可以直接复用Kotlin/JS插件内置的本地Node/Yarn环境,不需要额外安装其他Gradle插件,也不会触发重复下载,操作方法如下:
方法1:在Gradle任务中调用
Kotlin/JS插件已经对外暴露了内置Node、Yarn的可执行文件路径API,你可以直接在自定义任务中引用:
- 执行自定义Node命令的示例:
tasks.register<Exec>("runCustomNodeScript") { // 直接引用插件内置的Node可执行文件路径 val nodePath = kotlin.js.nodeJsInstallation.get().executablePath commandLine(nodePath, "你的自定义JS脚本路径.js", "可选参数1", "可选参数2") }
- 执行自定义Yarn命令的示例:
tasks.register<Exec>("runCustomYarnCmd") { val yarnPath = kotlin.js.yarnInstallation.get().executablePath commandLine(yarnPath, "add", "要安装的npm包名") }
创建完任务后直接执行./gradlew runCustomNodeScript(对应你自己的任务名)即可。
方法2:在终端直接调用
如果你需要在Gradle任务之外手动执行命令,可以先获取环境的可执行文件路径:
- 先在build.gradle.kts中添加一个临时打印路径的任务:
tasks.register("printJsEnvPath") { doLast { println("Node可执行文件路径:${kotlin.js.nodeJsInstallation.get().executablePath}") println("Yarn可执行文件路径:${kotlin.js.yarnInstallation.get().executablePath}") } }
- 执行
./gradlew printJsEnvPath拿到路径后,直接用完整路径执行命令即可,示例:
# 替换为你自己的Node路径 /Users/xxx/你的项目目录/build/js/nodejs/node 测试脚本.js
注意:如果是首次使用,先执行一次
./gradlew kotlinNpmInstall,插件会自动下载对应版本的Node和Yarn到本地,后续所有调用都会复用这套环境,不会重复下载。
内容的提问来源于stack exchange,提问作者CLOVIS
相关产品推荐
相关产品推荐

