节点版本:16.20.2 NPM版本:8.19.4 NVM版本:0.39.7 操作系统:亚马逊Linux 2
当我尝试使用
npm init playwright@latest -- --ct
创建新的剧作家项目时,将创建包并创建 package.json 文件。它警告节点版本不受支持,但仍然运行完美。
当我尝试在其他地方使用相同的 package.json 但使用
npm install
时,它失败并存在说汇总版本错误,预期 0.21.4 但收到 0.18.4 (数字不准确,但是的,一个更高,另一个更高)较低)
为什么会发生这种情况?它带来了一个问题,因为使用 git 时,npm install 失败,我必须使用 npm init 重新创建整个项目。
这种差异可能是因为
package-lock.json
或之前缓存的模块包含与您的预期更新或安装冲突的版本。
缓存节点模块:
npm install
使用现有的 node_modules
和 package-lock.json
。package-lock.json
中的依赖项与本地环境存在版本冲突,则会出现错误。项目初始化差异:
npm init playwright@latest
每次都会设置一个新的项目环境,自动获取并解决正确的依赖关系。package-lock.json
,确保全新安装。节点版本不兼容:
npm init playwright@latest
甚至警告 Node 版本不兼容,但仍然能够正常工作,因为它创建了一个全新的环境。首先,清除 npm 缓存以确保旧安装的残留物不存在。
npm cache clean --force
删除
node_modules
文件夹和 package-lock.json
即可恢复干净。
rm -rf node_modules package-lock.json
如果您使用的是 Windows (PowerShell):
rm -r node_modules
rm package-lock.json
运行
npm install
以重新安装全新的依赖项。
npm install
如果汇总版本问题仍然存在,请手动安装正确的版本:
npm install rollup@latest --save-dev
或者,如果您需要特定版本:
npm install [email protected] --save-dev
检查您的 Node 版本并根据需要进行升级。
node -v
npm -v
如果您发现 Node 版本过时,请使用 NVM 进行升级:
nvm install 20 # Or whichever version you'd prefer
nvm use 20
然后,重新安装 npm:
npm install -g npm
作为最后的手段,重新创建项目设置:
npm init playwright@latest -- --ct