使用React Native创建应用时遇npm 5不支持错误,寻求解决方案
解决React Native项目中的npm版本及依赖警告问题
嘿,我来帮你搞定搭建React Native项目时碰到的这些npm问题:
1. 核心错误:ERROR: npm 5 is not supported yet
这个问题根源很直接——你当前用的npm 5版本太老了,已经不被Expo/React Native的工具链支持。赶紧升级到兼容版本就行:
- 要是你用的是Node自带的npm,直接全局升级:
npm install -g npm@latest - 更推荐用nvm来管理Node版本(能避免各种版本冲突坑),安装nvm后切换到一个新的LTS版本,npm会跟着更新:
# 举个例子,安装并切换到Node 18 LTS nvm install 18 nvm use 18
2. 弃用警告:npm WARN deprecated socks@1.1.10 : 若使用2.x分支,请至少升级至2.1.6版本...
这个警告是说socks包的1.1.10版本已经被弃用,而且2.x早期版本有安全漏洞。不过这个包是@expo/ngrok的间接依赖,不是你直接装的,按下面步骤处理:
- 先删掉项目里的
node_modules和package-lock.json,清掉旧依赖:rm -rf node_modules package-lock.json - 重新安装依赖,npm会自动拉取符合要求的安全版本:
npm install - 如果还是有警告,就手动在
package.json里加个resolutions字段(需要npm 7及以上版本支持),强制指定socks的安全版本:
加完之后再跑一遍"resolutions": { "socks": "^2.1.6" }npm install就搞定了。
3. ngrok安装提示:ngrok - 二进制文件已解压
别担心,这个不是错误!只是@expo/ngrok安装完成后自动解压二进制文件的提示,说明这部分安装完全没问题,不用管它。
最后那个npm notice 已创建锁定文件package-lock.json,您应提交...是npm的常规提示,如果你用Git管理项目,把package-lock.json提交到仓库就好,这样团队里其他人安装依赖时版本能和你保持一致。
内容的提问来源于stack exchange,提问作者Rakesh
相关产品推荐
相关产品推荐

