如果我做:
pnpm run typeorm migration:generate -- -d ./src/config/typeorm.ts ./src/migrations/
我收到一个错误,表明没有足够的参数传递给脚本。
Not enough non-option arguments: got 0, need at least 1
当我用 nom 运行同样的事情时:
npm run typeorm migration:generate -- -d ./src/config/typeorm.ts ./src/migrations/
我没有收到错误。
这两个命令之间的参数传递有什么区别?
当您使用 npm 运行命令时,在 -- 之后传递参数的语法是很好理解的。-- 是向 npm 发出的信号,表明以下参数应传递给正在执行的命令,而不是被解释为 npm 选项。
另一方面,pnpm 没有以同样的方式内置支持 -- 分隔符。相反,它会自动将参数传递给执行的脚本。因此,在使用 pnpm 时,您可能不需要 -- 分隔符,并且可以直接在 npm 脚本后面提供参数。
在您的情况下,使用 pnpm:
如果没有 -- 分隔符,pnpm 应正确解释脚本的参数。如果您遇到特定参数组合的问题,您可能需要调整 pnpm 处理这些参数的方式,或者查阅 pnpm 文档以了解任何特定的细微差别。