问题标签 [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 投票
1 回答
469 浏览

pnpm - 如何将旧的 shrinkwrap.yaml 与 pnpm 3.0 一起使用?

我们刚刚pnpm从迁移2.253.0

我们的项目使用--frozen-shrinkwrap选项来确保不会对我们的依赖项进行不必要的更改。

现在使用 pnpm 3.0,可以使用一个选项--frozen-lockfile但是如果我们简单地将我们的重命名shrinkwrap.yamlpnpm-lock.yaml,它表示格式不正确。

如果没有--frozen-lockfile,某些依赖项会出错(这就是我们想要冻结所有内容的真正原因)。

有没有办法使用或将我的旧冻结文件迁移到新格式?如果不是,恐怕团队会卡在pnpm2.25

0 投票
1 回答
2455 浏览

pnpm - 如何获取 pnpm 存储目录

有什么方法可以检查 pnpm 商店的目录/路径吗?

我知道你可以设置它npm config set store /path/to/.pnpm-store,但npm config get store在我的情况下返回undefined,我猜这意味着 pnpm 使用一些默认值,但我在哪里可以找到这个默认值?

0 投票
1 回答
783 浏览

pnpm - 为什么 pnpm 与 nvm 一起使用时有两个商店?

我确实发现 pnpm 在 nvm 环境中安装时正在使用两个商店。

试图理解,为什么会这样。

0 投票
2 回答
1947 浏览

javascript - PNPM - 开始新项目未按预期工作

我正在尝试使用集中式包管理器 ( pnpm) 而不是 vanilla npm,因为我喜欢在硬盘驱动器上留出空间。我只是想让项目启动并遇到困难,并且几乎没有在线指导我通过这个包管理器启动项目。有没有人有经验让它为 React/React Native 工作?

任何想法都会非常受欢迎。

我尝试了两种不同的设置方式:

  • 用 . 创建了一个新项目pnpx create-react-app my-app。这正是我npx create-react-app要做的,其中包括安装超过 200MB 的模块,我已经在我的系统上安装了一百万次。我检查了node_modules文件夹,没有一个文件是硬链接,它们是模块本身。

  • 创建了一个没有辅助命令的新项目(即 touch App.js、index.js、index.html 等)然后pnpm i react...等等。这以某种方式工作,所有节点包都是指向我的全局存储的链接(在 ~/ 中),但是当我尝试pnpm start让我的服务器运行时,我得到了错误:Cannot find module ... /my-project/server.js. 我没有 server.js 文件,但话又说回来,使用常规的 npm 和 npx 命令,我从来不需要一个。

我曾经pnpm i server看看我是否可以让它这样工作。没有什么。我对 React 比较陌生,所以我确信我做了一些荒谬的事情,但是无论我多么初级,我都遵循了官方的说明(https://pnpm.js.org/docs/en/motivation。 html ) 并且他们没有为我工作。

pnpm 调试文件显示以下内容:

更新:所以我设法让它工作,我想......我掌握了所有使用的必需包,npx create-react-app并在执行之前将它们放在 package.json 中pnpm i。但是,除了想知道这是否可能不费这么多麻烦之外,查看文件结构,除了我在 node_modules 文件夹中的别名之外,我似乎还有一个隐藏文件夹.registry.npmjs.org。这与我在系统根目录中的那个完全相同,我认为它是中央存储。

TLDR:看起来尽管 pnpm 似乎可以工作(别名是在 node_modules 文件夹中创建的),但我的系统上仍然有重复的包。任何人都可以确认是否是这种情况?

0 投票
0 回答
147 浏览

pnpm - 如何以编程方式使用 pnpm / supi 安装软件包?

我想在 nodejs 中以编程方式使用 pnpm 或 supi 将包从私有存储库安装到特定目录中。有没有关于如何实现这一点的文档?

我有点(ab)使用系统,因为这些包不包含代码,而是一些计算的结果,但我认为这并不重要。

目前我通过调用使用 npm

我想为此使用 pnpm 但不使用 exec。任何帮助是极大的赞赏。

0 投票
1 回答
783 浏览

windows - 如何在不先安装 npm 的情况下安装 pnpm

我正坐在完全干净的 Windows 10 安装前——安装了 VS Code,但没有别的:

  1. 是否可以在不安装 npm 的情况下安装和使用 pnpm?
  2. 这样做是好事还是坏事?上下文 - 打字稿
0 投票
1 回答
3059 浏览

npm - 切换到 pnpm 时可以删除 package-lock.json 吗?

我正在从 切换npmpnpm,它具有我喜欢的一组不同的功能。

前者用于package-lock.json锁定确切的包版本,后者用于锁定pnpm-lock.yaml

根据文档pnpmignores package-lock.json,这似乎变得多余。因此,当用 更新软件包时pnpm,这个文件根本不会被处理,很快就会过时。

我可以安全地删除package-lock.json还是会遇到一些问题?从我的项目中删除这个文件会有什么缺点吗?

npm只是用来获取我的项目所需的工具和包(即 Gulp),而不是发布包到https://www.npmjs.com/

0 投票
2 回答
2105 浏览

pnpm - 如何更改 pnpm 安装全局包的位置?

问题很简单,我想更改pnpm安装全局包的位置。

我在 Windows 上安装了自定义节点,并且希望将所有内容都放在该目录下,特别是因为该目录在我的PATH但不是默认目录下。

为了更清楚,我不想设置存储目录,它已经配置并且正在正确的位置创建,现在我想在我的自定义目录中拥有可执行文件(*.cmd, *.ps1)和 pnpm-globals 的东西出色地。

npm默认情况下已经安装在同一目录上,nodepnpm强制默认漫游文件夹和设置没有改变。prefixetc/npmrc

0 投票
1 回答
244 浏览

pnpm - 在 Windows 上存储

我不知道这是一个错误还是缺乏理解。我不明白 pnpm 商店在 Windows 上的工作方式。

比如说,我在 C: 上使用了一个文件夹“test”——存储 (.pnpm-store) 是在 %USERPROFILE% 中创建的。当我在另一个驱动器上有这个文件夹“test”时,存储是在“test”中创建的。此外,当该驱动器上还有另一个文件夹“test2”时,将在“test2”中创建另一个新存储。IMO,这个(其他 - 不是c)驱动器上的“test”和“test2”应该使用这个驱动器根目录中的存储(是的,我的用户可以在那里创建一个文件夹),不应该。

然后,假设我有一个文件夹“test”,里面有一个名为“package1”的包文件夹,我通过“pnpm init -y”创建了 package.json。现在我添加一个包,例如“pnpm add debug”。IMO 应引用此驱动器上的商店。但它不是:

那么有什么问题呢?

0 投票
1 回答
215 浏览

node.js - 在多用户生产环境中使用 pnpm

我正在为多个 Node.js 项目创建托管服务器。这些项目将由多个 UNIX 用户拥有,并位于他们的特定存储库中。我打算使用 pm2 来监控所有服务器。为了节省空间,我想使用 PNPM 并拥有一个所有项目都可以使用的全局存储库。这是否可行(一个 PNPM 存储供多个 UNIX 用户使用),我将如何保护系统(防止用户修改全局存储中的依赖项)。

谢谢你的帮助 !