Javascript 使用纱线包管理器时出错

Javascript 使用纱线包管理器时出错,javascript,node.js,npm,yarnpkg,Javascript,Node.js,Npm,Yarnpkg,我一直在使用npm在每个命令之前使用sudo安装软件包。考虑到这是一种不好的做法,我安装了纱线以管理我的软件包。安装Thread并运行软件包安装后,我发现以下错误: 信息找不到锁文件 我应该手动创建这个文件,还是纱线应该自己创建一个 找到警告package-lock.json。您的项目包含由Thread以外的工具生成的锁定文件。建议不要混合使用包管理器,以避免由不同步的锁文件导致的解决方案不一致。要清除此警告,请删除package-lock.json 如果我清除package-lock.json

我一直在使用npm在每个命令之前使用sudo安装软件包。考虑到这是一种不好的做法,我安装了纱线以管理我的软件包。安装Thread并运行软件包安装后,我发现以下错误:

信息找不到锁文件

我应该手动创建这个文件,还是纱线应该自己创建一个

找到警告package-lock.json。您的项目包含由Thread以外的工具生成的锁定文件。建议不要混合使用包管理器,以避免由不同步的锁文件导致的解决方案不一致。要清除此警告,请删除package-lock.json

如果我清除package-lock.json文件,那么npm将不再找到这些包。我是否需要卸载最初使用npm安装的所有软件包,如果我希望在将来专门使用Thread,是否需要重新安装所有软件包?有很多包裹

错误发生意外错误:“EACCES:permission denied,mkdir'/home/username/node_modules/cacheable request'


我想这个错误是因为我最初安装的节点具有sudo权限。如何解决此权限问题?

假设您使用的是Linux(因为sudo命令)

  • 信息找不到锁文件
当Thread第一次成功安装依赖项时,它会创建文件

  • 找到警告package-lock.json
只是警告不建议同时使用纱线和NPM,但这不是问题

  • 错误发生意外错误:“EACCES:权限被拒绝
您应该是/home//node_modules的所有者才能检查此项。运行此命令
ls-l~/node_modules
如果所有者是root(因为使用
sudo npm
),您可以再次更改为运行
sudo chown-R$USER~/node_modules

然后你应该能够再次运行
Thread
来安装所有依赖项。

太好了!非常感谢你的时间和回答。这确实解决了问题。如果可以的话,再问一个问题。既然以前的所有软件包都是使用npm安装的,而且我将来也会使用Thread,有没有办法以某种方式将yarn与npm创建的package-lock.json文件中的包同步?如果您使用的是version-exact,这意味着
{…,“anypackage”:“1.2.3”}
,那么使用
yarn
npm
您将得到相同的结果。请将答案标记为正确。再次感谢Yoandry。标记!