最近接触到一个新项目, clone到本地之后无论如何都跑不起来, 各种报错而且都很眼生的那一类报错, 于是baidu起来, 找了几十个解决方案, 来来回回的试, 终于在经历了整整5个小时, 总结了以下方案
解决方案
首先哈, 确定项目跑起来过 !
- 删除项目内的node_modules文件夹
- 删除package-lock.json
- 执行
npm install --unsafe-perm=true --allow-root
原因: 单位原来电脑主板坏了, 故取出硬盘插到新机器里边, 这也许是导致这个问题的原因, 导致了项目出现权限不足的问题. 故使用上文这句来进行依赖的安装
相关策略:
- npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。
- 为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即使是 root。