原因

前端package.json中指定的是依赖版本范围,而linux中使用npm install安装的版本与windows不同。

例如"@ant-design/icons": “^4.0.0”
插入符号^意味着它可以安装最新的兼容版本。如果希望它安装特定版本,可以在版本前面删除^

详见package.json文档符号学

插入符号将让它安装一个不改变第一个数字的更高版本。例如,你的package.json为@ant-design/icons指定了^4.0.0,但它安装了4.6.2。由于4没有改变,所以这也是可以接受的安装版本。

解决方案:

若不想改变源代码,则将package.json复制替换一下就行。
将package.json.bak中的"^替换为"
表示不接受版本范围,指定固定版本。
然后将package.json复制为package.json.bak
打包命令如下

rm -rf ./node_modules/*
rm -rf package.json
cp package.json.bak package.json
npm config set user 0 
npm config set unsafe-perm true
npm install
rm -rf ./dist/*
npm run build:prod
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐