标签: yarnpkg-v2

如何在 Yarn 2 中列出和使用包?

由于我是 Yarn 的初学者,因此我遵循了当前的 Yarn 教程,它描述了 Yarn 2。所以我安装了 Yarn 2。yarn --version命令给出了2.0.0-rc.34

但是 Yarn 2 似乎缺少一个命令来显示本地安装的软件包列表。我知道 Yarn 1 有该list命令,但我在 Yarn 2 中找不到任何类似的命令。

我将 Yarn 2 用于一个新的空项目,我使用命令添加了 webpack yarn add -D webpack webpack-cli。Yarn 2 似乎以完全不同的方式存储包——它没有创建node_modules目录,它似乎使用.yarn包的目录。所以npm list什么也没显示。

Furthermore when I try npx webpack --help, npm doesn't find webpack, and proposes to install it with yarn add -D, though I had done that already.

So how to see a list …

npm yarnpkg yarnpkg-v2

4
推荐指数
1
解决办法
4973
查看次数

Heroku 未对 Yarn v3 使用缓存

尝试让 Heroku 使用工作区为 Yarn v3 使用缓存模块。我有以下内容:

\n

package.json

\n
"engines": {\n    "node": "16.x",\n    "yarn": "3.x"\n  },\n  "cacheDirectories": [\n    "node_modules",\n    "packages/components/node_modules",\n    "packages/lib/node_modules",\n    "packages/schema/node_modules",\n    "packages/web/node_modules",\n    "packages/web/.next/cache"\n  ]\n
Run Code Online (Sandbox Code Playgroud)\n

heroku-buildpack-features

\n
cache-native-yarn-cache=true\n
Run Code Online (Sandbox Code Playgroud)\n

Heroku 输出:

\n
-----> Creating runtime environment\n       \n       NPM_CONFIG_LOGLEVEL=error\n       USE_YARN_CACHE=true\n       NODE_VERBOSE=false\n       NODE_ENV=production\n       NODE_MODULES_CACHE=true\n       \n-----> Installing binaries\n        !     You don't need to specify Yarn engine. Heroku will install the latest Yarn 1.x, so that per project version can be used. More information here: https://yarnpkg.com/getting-started/install#global-install\n              https://devcenter.heroku.com/articles/nodejs-support\n       \n       engines.node (package.json):  16.x\n …
Run Code Online (Sandbox Code Playgroud)

heroku yarnpkg yarn-workspaces yarnpkg-v2 yarnpkg-v3

3
推荐指数
1
解决办法
1977
查看次数

如何在azure devops管道代理中安装yarn@2

我正在 azure devops 中设置构建管道。有一个名为 YarnInstaller@3 的助理任务,它允许我安装特定版本的 Yarn。但是,列出的唯一可用版本是 1.x,最新版本是 1.22。

https://yarnpkg.com/getting-started/install上有关于从 v1 迁移到 v2+ 的迁移说明,我已在本地完成此操作。由于只有yarn@1.x可用,似乎我每次运行构建时都必须迁移,例如

  • 安装纱线1
  • 将版本设置为 berry
  • 纱线套装版本最新
  • 然后照常运行yarn命令

这似乎没有必要,特别是因为我已经提交了.yarnrc.yml.yarn子目录。我这样说有错吗?还有另一种方法可以在我的管道中安装yarn@2+吗?

azure-devops azure-pipelines yarnpkg-v2

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

您可以在没有 Yarn 的计算机上“零安装”使用 Yarn2 PnP 吗?

我正在使用 Yarn 2 的“零安装”工具作为一个小工具来解决我老板的随机过敏问题。npm i(他对必须在克隆的存储库上运行才能使其工作的期望感到不满,并坚持认为node_modules引入版本控制在某种程度上并不是一个糟糕的想法;所以我想以此为借口偷偷溜进 Yarn 并阻止他为其提供动力。)

据我了解,“零安装”基本上意味着 Yarn 试图使将依赖项安装状态放入 VCS 中实际上是可行的。然而,要运行实际的应用程序,Yarn 需要用其 PnP 机制替换 Node 的依赖解析。对于从 Yarn 脚本运行的 Node 实例,这种情况会自动发生,但运行 Yarn 脚本需要 Yarn 可用。(请记住,我们正在努力解决某些人对安装东西固执己见的问题。)

我所拥有的最好的办法就是让我的start剧本成为npx yarn node app.js,但这感觉不必要地复杂;毕竟,在 Yarn 2 中,工具本身存储在其中,.yarn/releases并且全局yarn命令使用它,但这是一些捆绑器输出的巨大缩小块,我不知道如何开始调用它。

node.js yarnpkg yarnpkg-v2

2
推荐指数
1
解决办法
1115
查看次数

.yarnrc 使用用户名和密码进行私有注册表身份验证

有关如何迁移到 Yarn 2 的说明尚不清楚,并且如何对使用用户名和密码的私有注册表进行身份验证也不清楚。

这是我的文件的内容.npmrc

registry=https://pkgs.dev.azure.com/<private-path>/registry/
always-auth=true

//pkgs.dev.azure.com/<private-path>/registry/:username=${NPM_USER}
//pkgs.dev.azure.com/<private-path>/registry/:_password=${NPM_TOKEN}
Run Code Online (Sandbox Code Playgroud)

文档.yarnrc.yml仅提到如何处理令牌,但没有提及有关用户名的任何内容。我也尝试过使用npmAuthIdent,但我不知道正确的语法。

如何使用yarn 2 通过我的私人注册表进行身份验证?目前我必须降级回yarn 1,以便我可以使用npmrc 文件

yarnpkg yarn-v2 .npmrc yarnpkg-v2

2
推荐指数
1
解决办法
9891
查看次数

如何在某个日期之前安装节点包及其依赖项?

是否有可能安装节点包(无论是由npmyarn)及其在某个日期之前发布的依赖项?看起来这在技术上是可行的,因为所有版本都有相应的发布日期,但我没有看到任何具体的方法。

有时,不可能获得与发布日期要求相对应的一组软件包。在这种情况下,我们可以获取尽可能早的版本。

dependencies node.js npm yarnpkg yarnpkg-v2

2
推荐指数
1
解决办法
1066
查看次数

在 Docker 上使用纱线安装 esbuild“@esbuild/darwin-arm64”而不是“@esbuild/linux-arm64”

我正在使用 Tailwind CSS 和 ES Build 设置 Rails 7 应用程序。

该应用程序是使用以下命令构建的: rails new app -d postgresql --css=tailwind --javascript=esbuild

当我在 docker 容器中运行应用程序时,不断收到以下错误:

You installed esbuild for another platform than the one you're currently using.
This won't work because esbuild is written with native code and needs to
install a platform-specific binary executable.

Specifically the "@esbuild/darwin-arm64" package is present but this platform
needs the "@esbuild/linux-arm64" package instead. People often get into this
situation by installing esbuild on Windows or macOS and copying …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker yarnpkg-v2 esbuild

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

Yarn 2 中的工作区全局 bin 脚本

我有一个包含两个工作区的yarn 2工作区项目:

|-foo
\-bar
Run Code Online (Sandbox Code Playgroud)

现在,在 root 中package.json,我引入了常见的开发依赖项:

"devDependencies": {
    "@rollup/plugin-commonjs": "^14.0.0",
    "@rollup/plugin-node-resolve": "^8.4.0",
    "@rollup/plugin-replace": "^2.3.3",
    "@rollup/plugin-typescript": "^5.0.2",
    "@types/jest": "^26.0.13",
    "nollup": "^0.13.10",
    "rimraf": "^3.0.2",
    "rollup": "^2.23.1",
    "ts-jest": "^26.3.0",
    "tslib": "^2.0.1",
    "typescript": "^4.0.2"
  }
Run Code Online (Sandbox Code Playgroud)

我现在如何轻松(无需太多样板)从 foo 和 bar 的 package.json 中的脚本引用汇总等?

示例:foo/package.json

"build": "rollup ...",
Run Code Online (Sandbox Code Playgroud)

写“../node_modules/.bin/rollup”很糟糕。

请注意,我不想在全球范围内安装汇总等。

yarnpkg yarn-workspaces yarnpkg-v2

0
推荐指数
1
解决办法
902
查看次数