标签: yarnpkg-v2

为什么 Yarn 会失败并出现“未找到候选者”错误?

例如,我尝试netlify-cli使用以下命令从 17.7.0 升级到 17.8.1yarn upgrade-interactive,并发生以下错误:

\n
\xe2\x9e\xa4 YN0000: \xc2\xb7 Yarn 4.0.2\n\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Resolution step\n\xe2\x9e\xa4 YN0082: \xe2\x94\x82 @netlify/zip-it-and-ship-it@npm:9.28.1: No candidates found\n\xe2\x9e\xa4 YN0000: \xe2\x94\x94 Completed in 1s 602ms\n\xe2\x9e\xa4 YN0000: \xc2\xb7 Failed with errors in 1s 617ms\n
Run Code Online (Sandbox Code Playgroud)\n

\n
\xe2\x9e\xa4 YN0000: \xc2\xb7 Yarn 4.0.2\n\xe2\x9e\xa4 YN0000: \xe2\x94\x8c Resolution step\n\xe2\x9e\xa4 YN0082: \xe2\x94\x82 @formkit/vue@npm:^1.3.0: No candidates found\n\xe2\x9e\xa4 YN0000: \xe2\x94\x94 Completed in 22s 953ms\n\xe2\x9e\xa4 YN0000: \xc2\xb7 Failed with errors in 22s 972ms\n
Run Code Online (Sandbox Code Playgroud)\n

根据 npmjs.com 包@netlify/zip-it-and-ship-it可在所请求的版本中使用:

\n

在此输入图像描述

\n

我最近在使用不同的软件包时多次遇到此错误。 …

netlify yarnpkg netlify-cli yarnpkg-v2

16
推荐指数
1
解决办法
2353
查看次数

为什么yarn创建.pnp.loader.mjs和.pnp.cjs文件

我在React上使用vite,当我使用yarn“实时服务器”时,我的项目会创建两个新文件,.pnp.loader.mjs和.pnp.cjs。该文件的用途是什么?我从未见过这些文件,总是使用 npm 或yarn,而且这是它们第一次出现。

文件

javascript npm yarnpkg yarnpkg-v2

14
推荐指数
1
解决办法
6138
查看次数

在 Yarn 2 (berry) 中审核依赖项的最佳方法?

我正在寻找一种方式来审计的依赖关系的在纱线2.漏洞纱线1.x中,有可能同是在npm,通过运行yarn audit代替npm audit。但是 Yarn 2 没有这样的命令。根据berry github 上的这个问题,它不会被实现(项目维护者更喜欢通过插件完成)。

我试过运行,npm install --package-lock-only && npm audit但安装在我的一些本地包上阻塞(我使用link:url 类型在 package.json 中列出)。

构建它不会是一个复杂的插件,我很乐意这样做,但它不会像安装一些东西然后继续我的一天那么有趣。我环顾四周,但总是以相同的几个蒸气软件/废弃软件仓库告终。

但我仍然想我只是没有找到它们。或者有一个未记录的技巧可以使它变得容易。因此我的问题:)

PS,是的,我可以link:在运行上面的npm installnpm audit命令时临时删除本地包,但这并不是我想要尝试为 CI 自动化的那种事情。

javascript npm typescript npm-audit yarnpkg-v2

12
推荐指数
1
解决办法
1072
查看次数

纱线 2(浆果)不使用主目录中的 .yarnrc.yml

我想使用npmAuthToken位于.yarnrc.yml我的主目录中的

~/.yarnrc.yml内容

npmScopes:
  company:
    npmAuthToken: NpmToken.token
Run Code Online (Sandbox Code Playgroud)

~/Project/MyProject/.yarnrc.yml内容

enableGlobalCache: true

logFilters:
  - code: YN0013
    level: discard

nodeLinker: node-modules

npmScopes:
  company:
    npmAlwaysAuth: true
    npmPublishRegistry: "https://company-url"
    npmRegistryServer: "https://company-url"

plugins:
  - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
    spec: "@yarnpkg/plugin-workspace-tools"

yarnPath: .yarn/releases/yarn-3.1.0.cjs
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行时,yarn install它在解析步骤中失败,并显示以下消息:Invalid authentication (as an anonymous user)。它与纱线 1 和~/.npmrc锉刀配合得很好。现在我们要迁移yarn 2,但我坚持这个问题。关于如何解决这个问题有什么想法吗?谢谢!

yarnpkg yarnpkg-v2

11
推荐指数
1
解决办法
2063
查看次数

博览会项目的纱线启动时出现 ENOTDIR 错误

我按照yarn官方文档激活了yarn(https://yarnpkg.com/getting-started/install

我按照React Native官方文档(https://reactnative.dev/docs/environment-setup)使用yarn创建了一个expo应用程序

但是当我运行时yarn start出现以下错误

node:internal/errors:465
    ErrorCaptureStackTrace(err);
    ^

Error: spawn ENOTDIR
    at ChildProcess.spawn (node:internal/child_process:413:11)
    at Object.spawn (node:child_process:700:9)
    at spawn (/Users/minseok/Repository/test/.yarn/cache/cross-spawn-npm-6.0.5-2deab6c280-f893bb0d96.zip/node_modules/cross-spawn/index.js:12:24)
    at run (/Users/minseok/Repository/test/.yarn/unplugged/expo-npm-46.0.10-310b54dc3f/node_modules/expo/bin/cli.js:11:12)
    at Object.<anonymous> (/Users/minseok/Repository/test/.yarn/unplugged/expo-npm-46.0.10-310b54dc3f/node_modules/expo/bin/cli.js:6:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Object.require$$0.Module._extensions..js (/Users/minseok/Repository/test/.pnp.cjs:20807:33)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.require$$0.Module._load (/Users/minseok/Repository/test/.pnp.cjs:20630:22) {
  errno: -20,
  code: 'ENOTDIR',
  syscall: 'spawn'
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

react-native expo yarn-v2 yarnpkg-v2

10
推荐指数
0
解决办法
370
查看次数

如何在不破坏身份验证的情况下将注册表与 Yarn 2 中的范围关联起来?

本文建议在项目中添加配置.npmrc,将范围与私有注册表关联起来,以降低 npm 替换攻击的风险(有人可能会故意发布同名的恶意公共包)。

如何在 Yarn 2 项目中实现类似的效果?我尝试.yarnrc.yml在项目根目录中添加一个文件:

npmScopes:
  someScope:
    npmRegistryServer: https://npm.pkg.github.com
Run Code Online (Sandbox Code Playgroud)

~/.yarnrc.yml我们还为每个开发人员提供了一个具有类似配置的主目录,但还具有适当的npmAuthToken身份验证功能。

但是,当我执行 a 时yarn install,我收到Invalid authentication (as an anonymous user)该范围内的包的错误。据推测,特定于项目的.yarnrc.yml设置会覆盖每个用户的设置~/.yarnrc.yml,因此身份验证信息不再存在?

我所寻求的缓解措施是,如果开发人员忘记运行yarn npm login,那么它不会检查公共注册表中特定范围内的包。在 Yarn 2 中有办法做到这一点吗?

security yarnpkg yarnpkg-v2

9
推荐指数
1
解决办法
9671
查看次数

为什么“Yarn 2”是Yarn 3.0.1?

为什么 Yarn 不直接称为 Yarn 2 Yarn 3 而是称为Yarn 2

yarn --version
Run Code Online (Sandbox Code Playgroud)

输出:

3.0.1
Run Code Online (Sandbox Code Playgroud)

或者甚至称其为浆果?我不明白命名约定。

javascript node.js yarnpkg yarnpkg-v2 yarnpkg-v3

9
推荐指数
1
解决办法
8287
查看次数

使用 Yarn 2 链接 React 组件时出现模块未找到错误

我创建了一个存储库,其中包含一个 React 应用程序(使用 创建create-react-app)和一个组件目录,其中包含一个简单的 Material UI 按钮。文件夹结构为:

/components
/react-app
Run Code Online (Sandbox Code Playgroud)

这两个目录都设置为使用Yarn 2,并且不在工作区中(因为我试图在单独的目录中模​​拟项目并简化我的现实场景)。

我构建组件:

$ cd ~/components && yarn build
Run Code Online (Sandbox Code Playgroud)

然后,我用 Yarn 将组件链接到 React 应用程序:

$ cd ~/react-app & yarn link ../components -r -p
Run Code Online (Sandbox Code Playgroud)

package.json这会导致目录中的文件发生修改react-app

{
  "name": "react-app",
  ...
  "resolutions": {
    "components": "portal:../components"
  }
}
Run Code Online (Sandbox Code Playgroud)

我的App.tsx文件如下所示:

import './App.css';

import { Button } from 'components';
import React from 'react';

function App() {
  return (
    <Button>Test</Button>
  );
}

export default App; …
Run Code Online (Sandbox Code Playgroud)

reactjs yarnpkg yarnpkg-v2

8
推荐指数
1
解决办法
1万
查看次数

运行 yarn install 时,一个模块不提供另一个模块是什么意思?

当我yarn在使用 firebase 的 React 应用程序上运行时,我会收到几个警告,例如...

@firebase/auth@npm:0.14.5 [c52f6] doesn't provide @firebase/app-types@0.x requested by @firebase/auth-types@npm:0.10.0

myapp@workspace:. doesn't provide @testing-library/dom@>=5 requested by @testing-library/user-event@npm:10.2.0
Run Code Online (Sandbox Code Playgroud)

(仅供参考...我正在使用纱线 v2)

这是否意味着我需要将它们显式添加到我的 package.json 中?

node.js npm yarnpkg yarnpkg-v2

8
推荐指数
1
解决办法
585
查看次数

纱线设置版本不起作用。无法从yarn 3.0.0更改为yarn 2.0.0

当前的纱线版本是纱线3.0.0。尝试使用更改为yarn 2.0.0 yarn set version 2.0.0-rc.30。即使在那之后,yarn 版本仍然保持在yarn 3.0.0。

我尝试过的其他替代方案: npm uninstall -g yarnthen npm install -g yarn。仍然纱线版本保持在 3.0.0。

更新:

  • 从根目录删除yarnrc 文件后,设法将yarn 版本提升到2.0。

yarnpkg yarnpkg-v2 yarnpkg-v3

8
推荐指数
1
解决办法
7306
查看次数