不太懂 pnpm 的用法 ...

2024-03-14 00:44:33 +08:00
 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/

3800 次点击
所在节点    Node.js
19 条回复
lscho
2024-03-14 01:16:52 +08:00
你这不是不太懂 pnpm ,你是 nodejs 都不懂。

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

install.ps1 源码里就是 exe 呀~
shunia
2024-03-14 09:43:15 +08:00
pip install module-a

pnpm install module-a

上面这句不工作?
hupeng
2024-03-14 10:05:57 +08:00
大家对小白宽容一点
gxvsko
2024-03-14 10:16:46 +08:00
新版本的 nodejs
可以用 corepack enable 会默认启用 yarn pnpm 包管理工具,可以不用单独安装
https://nodejs.org/api/corepack.html
z1645444
2024-03-14 10:25:51 +08:00
| 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
2024-03-14 10:36:43 +08:00
@z1645444 补充一下...也许 op 连 pyenv 或者 *conda 这类都没用过,那么忘了 nvm 安装内容,建议访问 Nodejs 的官网,直接下载一个 LTS 版本使用。

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

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

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

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

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

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

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

全局安装 pnpm add -g xxx
项目内安装 pnpm add xxx
直接执行不安装 pnpm dlx xxx
执行已经全局安装的 xxx
zhhbstudio
2024-03-18 09:25:57 +08:00
#17 执行项目内安装的 pnpx xxx
magicdawn
2024-03-20 16:17:45 +08:00
说实话 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