未固定版本的 npm 安装会执行当时解析到的第三方包代码
原文依据:4 处指南安装 `prisma`、`@prisma/client` 和多个驱动包时没有指定版本,随后运行 Prisma CLI。解析到的版本由当时的注册表和锁文件状态决定,安装生命周期脚本或 CLI 会在开发环境中执行包代码。
若依赖发布被入侵、名称解析到意外版本或项目没有受控锁文件,第三方代码可能读取当前进程可访问的文件和环境变量,或修改项目文件。证据并不表明这些包目前恶意。
指南要求安装多个未固定版本的 npm 包,随后运行已安装的 Prisma CLI。安装依赖和执行 CLI 都会信任当时解析到的第三方代码;这是实现数据库配置的正常、已授权流程,但版本漂移风险真实存在。用户可要求作者提供测试过的版本范围、锁文件及安装脚本审查说明。
## 1. Install dependencies```bashnpm install prisma --save-devnpm install @prisma/client```查看另外 3 个位置
## 3. Generate Prisma Client```bashnpx prisma generate```Re-run `prisma generate` after every schema change to keep the client in sync.For edge compatibility or Turso:1. Install: ```bash npm install @prisma/adapter-libsql @libsql/client ```1. Install adapter and driver: ```bash npm install @prisma/adapter-pg pg ```