【问题标题】:Errors using yarn Package Manager使用纱线包管理器的错误
【发布时间】:2020-10-28 05:55:21
【问题描述】:

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

信息未找到锁定文件。

我应该手动创建这个文件,还是应该由 yarn 自己创建一个?

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

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

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

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

【问题讨论】:

    标签: javascript node.js npm yarnpkg


    【解决方案1】:

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

    • 信息未找到锁定文件。

    yarn 第一次成功安装依赖时,它会创建文件。

    • 警告 package-lock.json 发现

    Just a Warning 不建议同时使用 yarn 和 NPM 但不是问题。

    • 错误发生意外错误:“EACCES:权限被拒绝

    你应该是 /home//node_modules 的所有者来检查这个运行这个命令 ls -l ~/node_modules 如果所有者是 root (因为使用 sudo npm)你可以改变你再次运行 sudo chown -R $USER ~/node_modules 然后你应该能够再次运行yarn 来安装所有依赖项。

    【讨论】:

    • 太棒了!非常感谢 Yoandry 的时间和回答。这确实解决了这个问题。如果可以的话,再问一个问题。由于之前所有的包都是使用 npm 安装的,而且我将来会使用 yarn,有没有办法以某种方式将 yarn 与 npm 创建的 package-lock.json 文件中的包同步?
    • 如果你使用的是精确版本,这意味着{ ... , "anypackage": "1.2.3" },然后使用yarnnpm 你会得到相同的结果。请将答案标记为正确。
    • 再次感谢 Yoandry。标记!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多