Yarn 锁文件资源源由registry.yarnpkg.com 更改为registry.npmjs.org

问题描述 投票:0回答:5

我最近在我的 Ruby on Rails 应用程序中安装了一个包。安装更改了我的yarn.lock 文件。具体来说,我所有资源的“已解决”字段已从yarnpkg.com更改为npmjs.org。

从此:

d3-dsv@1:
  version "..."
  resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.8.tgz#..."
  integrity ...

对此:

"d3-dsv@1":
  "integrity" "..."
  "resolved" "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz"
  "version" "..."

这个 yark.lock 文件中的这些更改有问题吗?我应该做一些yarn替代npm安装吗?

npm yarnpkg
5个回答
2
投票

这可能与您从哪里获取包裹有关。

您可以通过输入以下内容找到:->yarn config getregistry

有时注册表是 npmjs.org,这可能是yarn.lock 中发生更改的原因。

因此,您可以通过键入以下内容将注册表设置为 -> https://registry.yarnpkg.com

yarn 配置集注册表 https://registry.yarnpkg.com

然后删除yarn.lock文件并再次重试运行yarn。


1
投票

您可以通过再次重新运行

yarn
来解决此问题。


要完成此操作,请按照以下步骤操作。

  1. 删除 yarn.lock 文件中的

    registry.npmjs.org
    部分。

  2. 再次运行

    yarn
    命令。

    $ yarn
    

    这应该重写

    yarn.lock
    以将注册表从 npm 更改为 Yarn。


上述步骤应该重写

yarn.lock
文件,并将注册表和文本从npm更改为Yarn。


0
投票

我怀疑这发生在我身上,因为我安装了带有

npm install
而不是
yarn
的东西。我意识到我的错误,
npm uninstall
编辑了包,然后
yarn add
编辑了包,但随后yarn.lock中的每个条目都更改为使用npmjs.org而不是yarnpkg.com。

我没有将更改提交到源代码管理,并且在我...之后问题就消失了

  1. 删除了package-lock.json
  2. 在源代码管理中恢复了对 package.json 的更改(即删除了新包)
  3. 在源代码管理中恢复了对yarn.lock的所有更改
  4. yarn add
    又打包了

我不确定使用

npm install
后跟
yarn add
是否真的引发了问题。谁能确认一下吗?


0
投票

就我而言,不仅“已解决”字段更新(不是全部,大多数);而且有时依赖项名称和“版本”字段也是如此。

更新 package.json 后,我最终对包进行了

npm uninstall
操作,并改为对它进行
yarn add
操作。然后我恢复到旧的yarn.lock文件(来自存储库),然后
yarn install
ed。

不确定这些操作的哪个组合实际上是关键,但我的yarn.lock仅使用相关依赖项进行了更新。


0
投票

如果您在应用程序中仅使用公共包,那么这不会导致很多问题。您可以按原样处理您的业务。
尽管在任何时候对其中任何一个进行身份验证时可能会出现一些复杂情况。

如果您使用任何私人存储库,则必须使用

yarn
重新注册您的软件包并向其添加凭据。

以下步骤会对您有所帮助。

  1. npmjs.org 上设置一个私有存储库并添加范围和您的包 (我们将其命名为
    boo

  2. 在本地创建一个新项目并上传到npm注册中心(姑且称之为
    blimp
  3. 所以当他们更新时将会是
    @boo/blimp
  4. 通过安装
    package.json
     将软件包添加到您的新应用程序 
    yarn add @boo/blimp
  5. 删除
    node_modules
    (
    rm -rf node_modules
    )
  6. 尝试
    yarn install
    如果锁定文件中有错误,请尝试按如下方式重新创建一个

sed -ie 's,registry.yarnpkg.com/@boo,registry.npmjs.org/@boo,'yarn.lock 7. 如果遗漏了诸如

Request failed
之类的问题或该小巷中的某些内容,请尝试以下操作 纱线配置集注册表https://registry.npmjs.org

此时,您已经尝试了很多选择。如果这仍然是您系统中的问题,那么您可能必须转向

npm
包管理。请关注 yarn 存储库以获取更多更新。


类似问题

© www.soinside.com 2019 - 2024. All rights reserved.