要将一个项目从 Yarn 转换为 npm,通常涉及以下步骤:
1. 移除 Yarn 特定的文件
首先,删除与 Yarn 相关的配置文件。主要是:
-
yarn.lock文件:该文件保存了 Yarn 的依赖树。npm 使用的是package-lock.json,所以在切换到 npm 时,需要删除yarn.lock文件。rm yarn.lock -
.yarnrc文件:该文件保存了 Yarn 的配置。如果存在.yarnrc文件,也应该删除或迁移相关配置。rm .yarnrc
2. 安装 npm 并重新生成依赖
如果还没有安装 npm,可以使用以下命令来安装 npm:
npm install -g npm
接下来,使用 npm 来重新安装项目的依赖:
npm install
此命令将基于 package.json 文件重新生成依赖,并生成 package-lock.json 文件,它会记录所有安装的包及其版本。
3. 确保 npm 和 Yarn 的依赖一致
由于 Yarn 和 npm 在依赖解析上可能存在一些微小的差异,建议在转换完成后仔细检查项目的依赖是否与原来一致。例如,你可以运行测试、构建项目,确保一切如预期正常工作。
4. 更新项目脚本
如果你的项目中有使用 Yarn 的脚本指令,如 yarn start 或 yarn build,这些需要替换为 npm 对应的命令,如:
yarn start→npm startyarn build→npm run build
5. 检查其他配置文件
检查项目的其他配置文件,看看是否有特定于 Yarn 的配置,例如 CI/CD 配置文件中有指向 yarn 命令的指令。将这些指令替换为 npm 的等效指令。
6. 使用 .npmrc 替代 .yarnrc
在 .yarnrc 文件中的一些配置可以迁移到 .npmrc 文件。例如,Yarn 的镜像源配置可能需要移到 .npmrc 文件中,以确保 npm 使用相同的镜像源。
7. 清理与测试
清理项目并重新运行测试,确保一切功能正常。常见的清理步骤包括:
npm cache clean --force
rm -rf node_modules
npm install
重新安装依赖并运行项目,以确保一切正常工作。
8. 总结与注意事项
- Yarn 特有的功能:Yarn 中的一些功能如
workspaces,在 npm 中也有类似功能支持。如果你的项目使用了 Yarn 的工作区功能,切换到 npm 后可以通过 npm 的workspaces进行配置。 - 依赖的一致性:在从 Yarn 切换到 npm 后,可能会出现一些依赖版本的细微差异,尤其是在处理间接依赖时。确保在切换后测试你的项目,验证所有依赖的版本是否符合预期。
通过以上步骤,你应该能够顺利将项目从 Yarn 切换到 npm 并确保项目在 npm 环境中正常运行。


