The Problem -我的npx
脚手架脚本在linux上工作得很好,但在windows上不工作.然而,我看到很多软件包在Windows上运行良好,但我无法找出他们做的不同之处.我问AI工具(Chatgpt/Gemini),他们无法提供解决方案.
What happens on linux? - Script is normally executed by node and works fine.
What happens on windows? - It just opens a new command prompt window doing nothing.
- 我创建了一个npm包
@reuk/start
来搭建我常用的项目模板. - 我打算用它作为npx脚本.类似于
npx create-vite
. - 为此,我创建了一个脚本,并将其添加到
package.json
—"bin": "./bin/cli.js"
中的bin字段中.>并公布了这一包. - 正常情况下,以
node ./bin/cli.js
的方式运行该脚本运行得非常好.唯一的问题是,在执行npx @reuk/start
操作时,它没有使用 node 调用脚本. - 我的
cli.js
有一个Shebang#!/usr/bin/env node
,告诉解释器使用node来运行它.我知道Shebang只能在unix系统上运行,而Windows不支持它,但是create-vite是如何在windows上运行的,为什么我的虽然有类似的代码却不能运行呢?
我到底做错了什么?更重要的是,我如何让它无缝地跨平台工作?
这里是代码供参考— @reuk/start| create-vite