问题标签 [pnpm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
105 浏览

pnpm - PNPM 工作区 - 同一存储库中是否允许多个工作区?

一个新手问题 - 我试图了解如何PNPM workspaces工作。我正在设置一个 monorepo(使用RushJS)并想知道其中有工作区意味着什么?我可以在同一个仓库中有多个工作区吗?例如,我组织中的每个部门都有自己的工作区。

例如:
Org name Acme,每个细分都拥有一个 workspace FinancePromotions等等。
然后我会在每个工作区中都有包。说Financeapp1lib1,并且Promotionsapp2lib2

可以lib2Finance工作区引用吗?如果是这样,我将如何定义它pnpm-workspace.yaml?每个工作区是否都有自己的 yaml 文件,内容是什么?

0 投票
2 回答
586 浏览

npm - pnpm 使用旧版本的节点

我正在使用 nvm 并且我安装了 node v14 并运行node -v证实了这一点,但是当我尝试在我的项目中安装一个需要 v14 引擎的包时,pnpm告诉我我当前正在使用 node v12 Unsupported engine: wanted: {"node":">=14.15"} (current: {"node":"v12.18.3","pnpm":"6.0.1"})。这是安装的节点版本,/usr/bin/node但我如何告诉它使用 nvm 版本?

0 投票
0 回答
40 浏览

pnpm - PNPM 和损坏的文件

我正在尝试在大型依赖树上使用 pnpm。一切都正确安装,但是有些文件已损坏并且无法打开(它们显示为二进制文件)。

有没有办法检查商店的完整性,或者调试安装过程?

节点 v12、pnpm v6.0.2、Windows 10

0 投票
0 回答
146 浏览

lerna - npm链接执行命令找不到依赖命令

现在我大概明白为什么找不到EXECA了,是这个级别的问题造成的。我想知道有哪些低成本和标准的方法可以解决问题并达到预期。

虽然可以先在A-test中运行npm -i lerna --no-save && npm link s-lerna,但是我的项目很多,不能在每个目录下都运行太麻烦了!

可能是一个很好的解决方案 PNPM?(我没试过)

0 投票
1 回答
118 浏览

pnpm - 为什么 pnpm 在顶层链接某些依赖项?

如果我运行:

然后我的node_modules目录最终包含:

我似乎找不到任何特别特别的东西eslint或其依赖关系会导致这种情况,但也许我没有找对地方。

唯一有意义的是,pnpm 将这些依赖项提升到顶部,仅基于它们以我实际安装的包名称为前缀的事实。不过这看起来确实不太对劲。

我在这里想念什么?

0 投票
1 回答
682 浏览

monorepo - 工作区中的“pnpm add”不会从工作区添加项目

我正在使用具有以下结构的非常简单的 monorepo:

当我cd进入 package-1 时,我试图通过执行以下操作添加对 package-2 的引用:

但我得到了错误@myorg/package-2 is not in the npm registry, or you have no permission to fetch it.。我希望这pnpm add会检测到我在工作空间内并自动链接工作空间包。我在这里错过了什么吗?

以下是您应该需要的相关信息:

  • 我的包使用@myorg/[package-name]package.json "name" 字段中的约定。
  • pnpm-workspaces.yml 文件如下:
  • 我的 .npmrc 文件如下:
0 投票
1 回答
227 浏览

pnpm - 如何避免锁定文件与 PNPM 冲突?

我们的团队使用 PNPM,一个反复出现的问题是我们似乎安装了不同版本的pnpm命令,在添加或更新包时导致锁定文件 git 冲突。PNPM 是一个全球性的工具,所以我不完全确定如何处理这种情况。一些 Node 工具有一个全局 CLI 界面 (Grunt),但使用本地安装的包来避免这个问题。PNPM 是否有办法确保整个团队的行为一致以避免锁定文件冲突等?

0 投票
1 回答
361 浏览

pnpm - 如果使用 pnpm 在全局中安装包,则找不到模块

我正在尝试安装prettierpnpm install prettier -g当我尝试在终端中运行它时,它给了我以下错误:

当我这样做时which prettier,它给了我/usr/local/bin/prettier。如何进一步调试和解决此问题?

0 投票
1 回答
252 浏览

pnpm - 有没有办法在 PNPM 中将特定包裹排除在吊装之外?

YARN 可以nohoist选择防止提升特定的包裹。

PNPM 是否有同等选择?

0 投票
1 回答
353 浏览

node.js - Vaadin 前端构建可重现地挂在 pnpm 安装中

我在让我的 Vaadin 应用程序运行(在开发模式下)或完全打包(在生产模式下)时遇到问题。前者挂在“前端编译”中,后者挂在 Maven 步骤“构建前端”中,据我了解相同但在编译期间,以便可以打包编译的前端代码以进行分发)。

无论是否在前端编译或前端构建之前安装了 node.js(我尝试了两个站点),分别。在“本地安装 pnpm 4.4.0 版”步骤中失败(即永远挂起)。请参阅控制台的以下输出。

显然,Vaadin maven 插件需要一个不同的 pnpm 版本(范围 >=4.4.0,<4.6.0)而不是随节点版本安装的版本(我使用了安装 pnpm 的最新 LTS 版本 node-v14.17.0-x64.msi v6.7.1)。请参阅下面的控制台输出。

如果事先没有安装 node.js,那么 Vaadin 构建会下载并安装相同的版本 14.17.0(当然也安装相同的 pnpm 6.7.1)并以相同的错误结束。

我该怎么做才能让它工作并能够再次构建和执行 vaadin 应用程序?这一直有效,直到上周中旬,即 2021 年 5 月底,突然开始工作(尽管我没有 - 至少没有自觉地 - 在我的系统上更改与 node/npm/pnpm 相关的任何内容)。

顺便说一句:有人知道 [4.4.0-4.6.0) 中哪个 node.js 版本带有 pnpm 版本吗?