问题标签 [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.
pnpm - PNPM 工作区 - 同一存储库中是否允许多个工作区?
一个新手问题 - 我试图了解如何PNPM workspaces
工作。我正在设置一个 monorepo(使用RushJS
)并想知道其中有工作区意味着什么?我可以在同一个仓库中有多个工作区吗?例如,我组织中的每个部门都有自己的工作区。
例如:
Org name Acme
,每个细分都拥有一个 workspace Finance
,Promotions
等等。
然后我会在每个工作区中都有包。说Finance
有app1
和lib1
,并且Promotions
有app2
和lib2
。
可以lib2
从Finance
工作区引用吗?如果是这样,我将如何定义它pnpm-workspace.yaml
?每个工作区是否都有自己的 yaml 文件,内容是什么?
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 版本?
pnpm - PNPM 和损坏的文件
我正在尝试在大型依赖树上使用 pnpm。一切都正确安装,但是有些文件已损坏并且无法打开(它们显示为二进制文件)。
有没有办法检查商店的完整性,或者调试安装过程?
节点 v12、pnpm v6.0.2、Windows 10
lerna - npm链接执行命令找不到依赖命令
现在我大概明白为什么找不到EXECA了,是这个级别的问题造成的。我想知道有哪些低成本和标准的方法可以解决问题并达到预期。
虽然可以先在A-test中运行npm -i lerna --no-save && npm link s-lerna,但是我的项目很多,不能在每个目录下都运行太麻烦了!
可能是一个很好的解决方案 PNPM?(我没试过)
pnpm - 为什么 pnpm 在顶层链接某些依赖项?
如果我运行:
然后我的node_modules
目录最终包含:
我似乎找不到任何特别特别的东西eslint
或其依赖关系会导致这种情况,但也许我没有找对地方。
唯一有意义的是,pnpm 将这些依赖项提升到顶部,仅基于它们以我实际安装的包名称为前缀的事实。不过这看起来确实不太对劲。
我在这里想念什么?
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 文件如下:
pnpm - 如何避免锁定文件与 PNPM 冲突?
我们的团队使用 PNPM,一个反复出现的问题是我们似乎安装了不同版本的pnpm
命令,在添加或更新包时导致锁定文件 git 冲突。PNPM 是一个全球性的工具,所以我不完全确定如何处理这种情况。一些 Node 工具有一个全局 CLI 界面 (Grunt),但使用本地安装的包来避免这个问题。PNPM 是否有办法确保整个团队的行为一致以避免锁定文件冲突等?
pnpm - 如果使用 pnpm 在全局中安装包,则找不到模块
我正在尝试安装prettier
,pnpm install prettier -g
当我尝试在终端中运行它时,它给了我以下错误:
当我这样做时which prettier
,它给了我/usr/local/bin/prettier
。如何进一步调试和解决此问题?
pnpm - 有没有办法在 PNPM 中将特定包裹排除在吊装之外?
YARN 可以nohoist
选择防止提升特定的包裹。
PNPM 是否有同等选择?
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 版本吗?