不太懂 pnpm 的用法 ...

288 天前
 JinTianYi456
Python

1. 安装 python 和 pip

2. python --version

3. pip install module-a

4. python -m module-a --help
Node.js

1. 下载 pnpm.exe
> ./pnpm.exe --help
Version 8.1.0 (compiled to binary; bundled Node.js v18.1.0)

2. 这个 bundled Node.js 是没法调用的是吧?? (要自行安装? 那 bundled 干嘛?)

3. 怎么安装模块??

4. 怎么执行模块??

https://pnpm.io/

3056 次点击
所在节点    Node.js
19 条回复
lscho
288 天前
你这不是不太懂 pnpm ,你是 nodejs 都不懂。

而我,甚至连你想表达的内容都看不懂。
wildnode
288 天前
你问的东西官网上都有,而且没什么难度,基本是看了就行。
siweipancc
288 天前
你在搞什么?要我后端仔教你写前端代码吗?
npm command pnpm equivalent
npm install pnpm install
npm i <pkg> pnpm add <pkg>
npm run <cmd> pnpm <cmd>
marcong95
288 天前
你自己都贴了官网出来了,为啥还要「下载 pnpm.exe 」官网 Installation 甚至连下载 pnpm.exe 都没有。。。
JinTianYi456
288 天前
@marcong95 #4 https://pnpm.io/installation#on-windows

install.ps1 源码里就是 exe 呀~
shunia
288 天前
pip install module-a

pnpm install module-a

上面这句不工作?
hupeng
288 天前
大家对小白宽容一点
gxvsko
288 天前
新版本的 nodejs
可以用 corepack enable 会默认启用 yarn pnpm 包管理工具,可以不用单独安装
https://nodejs.org/api/corepack.html
z1645444
288 天前
| 2. 这个 bundled Node.js 是没法调用的是吧?? (要自行安装? 那 bundled 干嘛?)

不是很推荐先安装包管理器,再由包管理器安装 Nodejs 。推荐使用 nvm 进行 Nodejs 的安装,再由指定版本的 Nodejs 中附带的 corepack 来打开 pnpm 的包,即执行 `corepack enable pnpm`。

怎么断定没法调用?执行 `node -v` 有没有信息提示?有则是写入了 Windows 的环境变量中,可以正常调用。

| 3. 怎么安装模块??
| 4. 怎么执行模块??

```
pip install module-1` !== `pnpm add module-1
````

本质上,在非 venv 或者相关虚拟环境下执行 pip install ,是全局安装,所以对应到 Nodejs 生态下的包管理器中,应该是 `npm i -g module-a`,也就是 `pnpm add -g module-a`。

之后,`python -m module-a --help` === `module-1 --help`。

如果是想本地装入 module-a ,也就是 `python3 -m venv .` 或者类似操作后,才执行 `pip install module-a`,在执行 `module-a --help`(这里的情况是局部目录安装)时,也应该保证当前所处的目录是与 node_modules/ 同级的目录。否则将索引不到包的二进制可执行程序。

可能主要困扰 op 的点是全局安装和局部安装的问题,pip 默认安装是全局的,容易误导没认真仔细阅读 Nodejs 生态包管理器的新手。
z1645444
288 天前
@z1645444 补充一下...也许 op 连 pyenv 或者 *conda 这类都没用过,那么忘了 nvm 安装内容,建议访问 Nodejs 的官网,直接下载一个 LTS 版本使用。

如果希望做的项目有可以参考的,而且包都很老,建议点击上方的 DOWNLOAD ,在最底下找到 Previous Releases ,下载个 14.x 的版本,否则也忘了这条。
blur1119
288 天前
这种东西都要拿上来问,官网文档不都有吗。就个包管理工具有什么好琢磨的
jspatrick
288 天前
有的时候官网和论坛要结合起来看,pnpm 的入门使用教程在掘金上一搜一大把
lisongeee
288 天前
pnpm 有两类发行版,一种是作为 npm package 发行,另一种是直接将 nodejs+pnpm 源代码 打包为可执行文件

你下载的就是第二种,第二种的好处是可以不依赖 nodejs 版本

另外建议先了解 nodejs 的模块加载机制和 js 的模块规范

小白的初期阶段就是啥也不懂,同时也不懒得学习相关文档了解,最后直接发一个表达能力堪忧大家读不懂的问题
marcong95
288 天前
@JinTianYi456 最后肯定有一个 exe 啊,但是 ps1 源码里面还有各种操作,你进去 ps1 里面把 exe 的链接翻出来直接用是什么操作

最起码最后还有一段安装的啊

Start-Process -FilePath $tempFile -ArgumentList "setup" -NoNewWindow -Wait -ErrorAction Continue
icy37785
288 天前
@hupeng #6 对小白宽容,那是为了帮助他,让他能把这条路走下去。对不看文档的人刻薄,也是为了帮助他,让他能把这条路走下去。
真养成了文档不看上来就发帖问的习惯,编程这条路算是走不下去了。
lllpla
287 天前
https://pnpm.io/zh/installation 官网是有中文翻译的 ,可以仔细阅读下
zhhbstudio
284 天前
我是前端,在用 pnpm ,#14 说的对 /doge

你手动下载好 exe 之后可以直接 ./pnpm.exe setup ,它会自己加环境变量,移动目录,后边你就可以在任何地方直接使用 pnpm 命令了。

全局安装 pnpm add -g xxx
项目内安装 pnpm add xxx
直接执行不安装 pnpm dlx xxx
执行已经全局安装的 xxx
zhhbstudio
284 天前
#17 执行项目内安装的 pnpx xxx
magicdawn
282 天前
说实话 pnpm 安装方法太多了...
有时候太多会使人眼花缭乱


Using a standalone script
On Windows
On POSIX systems
In a Docker container
Installing a specific version
Using Corepack
Using npm
Using Homebrew
Using winget
Using Scoop
Using Choco
Using Volta
Compatibility
Troubleshooting
Using a shorter alias
Uninstalling pnpm

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1023437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX