当前位置:   article > 正文

从独立安装pnpm到安装NodeJS到构建VUE项目_nodejs pnpm

nodejs pnpm

最近在学习VUE,开始的时候用的npm管理包,前端同事让我用pnpm,就用npm下载的pnpm,但是环境还是什么有问题,一直解决不好。同事就让我全部卸载直接安装pnpm,再用pnpm安装NodeJS试试,至此就摸索着给项目整起来了。

【独立安装pnpm】-【pnpm安装NodeJS】-【pnpm构建VUE项目】。

pnpm官方文档:Fast, disk space efficient package manager | pnpm

1、安装pnpm

使用 PowerShell 运行独立脚本进行安装:

iwr https://get.pnpm.io/install.ps1 -useb | iex
  1. PS C:\Windows\system32>
  2. PS C:\Windows\system32> iwr https://get.pnpm.io/install.ps1 -useb | iex
  3. Downloading pnpm from GitHub...
  4. Running setup...
  5. Copying pnpm CLI from C:\Users\Monoder\AppData\Local\Temp\4121b611-b243-41b9-bce2-4979637fde4c\pnpm.exe to C:\Users\Monoder\AppData\Local\pnpm\pnpm.exe
  6. Next configuration changes were made:
  7. PNPM_HOME=C:\Users\Monoder\AppData\Local\pnpm
  8. Path=%PNPM_HOME%;C:\Users\Monoder\AppData\Local\Microsoft\WindowsApps;E:\A_Tools\System\Bandizip\;F:\A_Tools\Network\Fiddler;%IntelliJ IDEA%;E:\A_Tools\Network\bin
  9. Setup complete. Open a new terminal to start using pnpm.
  10. # 可以看到安装目录为
  11. C:\Users\Monoder\AppData\Local\pnpm

2、pnpm移动到自定义目录

2.1 移动目录

直接将安装目录的里的文件移动到目标安装目录即可

安装目录:C:\Users\Monoder\AppData\Local\pnpm

目标安装目录:F:\A_Tools\VersionControl\pnpm

2.2 修改环境变量

修改用户变量:PNPM_HOME

修改系统变量:

3、pnpm路径设置

在安装目录下新建四个文件夹,用来配置pnpm的路径,配置路径有两种方法:

修改配置文件,或者PowerShell运行命令。

pnpm-global:pnpm全局安装路径

pnpm-store:pnpm全局仓库路径(类似 .git 仓库)

pnpm-state:pnpm创建pnpm-state.json文件的目录

pnpm-cache:pnpm全局缓存路径

3.1 配置文件

配置文件路径:

C:\Users\<用户名>\AppData\Local\pnpm\config\rc

C:\Users\<用户名>\.npmrc

  1. # pnpm全局安装路径
  2. global-dir=F:\A_Tools\VersionControl\pnpm\pnpm-global
  3. # pnpm全局bin路径
  4. global-bin-dir=F:\A_Tools\VersionControl\pnpm
  5. # pnpm全局仓库路径(类似 .git 仓库)
  6. store-dir=F:\A_Tools\VersionControl\pnpm\pnpm-store
  7. # pnpm创建pnpm-state.json文件的目录
  8. state-dir=F:\A_Tools\VersionControl\pnpm\pnpm-state
  9. # pnpm全局缓存路径
  10. cache-dir=F:\A_Tools\VersionControl\pnpm\pnpm-cache

3.2 PowerShell命令(CMD)

  1. pnpm config set global-dir F:\A_Tools\VersionControl\pnpm\pnpm-global
  2. pnpm config set global-bin-dir F:\A_Tools\VersionControl\pnpm
  3. pnpm config set store-dir F:\A_Tools\VersionControl\pnpm\pnpm-store
  4. pnpm config set state-dir F:\A_Tools\VersionControl\pnpm\pnpm-state
  5. pnpm config set cache-dir F:\A_Tools\VersionControl\pnpm\pnpm-cache

3.3 验证

  1. # pnpm c get
  2. C:\Users\Monoder>pnpm c get
  3. cache-dir=F:\A_Tools\VersionControl\pnpm\pnpm-cache
  4. global-bin-dir=F:\A_Tools\VersionControl\pnpm\pnpm
  5. global-dir=F:\A_Tools\VersionControl\pnpm\pnpm-global
  6. registry=https://registry.npmjs.org/
  7. state-dir=F:\A_Tools\VersionControl\pnpm\pnpm-state
  8. store-dir=F:\A_Tools\VersionControl\pnpm\pnpm-store
  9. user-agent=pnpm/8.10.3 npm/? node/v18.5.0 win32 x64

4、 pnpm 设置镜像和代理

有时候运行pnpm install命令时会遇到下面这种情况,可以通过配置镜像或者走梯子代理解决;


4.1 设置镜像

  1. # 查看源
  2. pnpm get registry
  3. # 安装包时临时使用镜像源
  4. pnpm --registry https://registry.npmmirror.com install axios
  5. # 持久修改
  6. pnpm config set registry https://registry.npmmirror.com
  7. # 去除
  8. pnpm config set registry https://registry.npmjs.org

4.2 设置代理

  1. # 设置成梯子的代理端口号
  2. pnpm config set proxy=http://127.0.0.1:1081
  3. pnpm config set https-proxy http://127.0.0.1:1081

5、安装node

5.1 安装

  1. # 安装 Node.js 的 LTS 版本
  2. pnpm env use --global lts
  3. # 安装 Node.js v16
  4. pnpm env use --global 16
  5. # 安装 Node.js 的预发布版本:
  6. pnpm env use --global nightly
  7. pnpm env use --global rc
  8. pnpm env use --global 16.0.0-rc.0
  9. pnpm env use --global rc/14
  10. # 安装最新版本的 Node.js:
  11. pnpm env use --global latest
  12. # 使用 codename 安装 Node.js 的 LTS 版本:
  13. pnpm env use --global argon

5.2 添加别的版本

安装指定版本的 Node.js,而不将其激活为当前版本。

  1. # add
  2. pnpm env add --global lts 18 20.0.1

5.3 移除指定版本

  1. # 移除指定版本的 Node.JS
  2. pnpm env remove --global 14.0.0
  3. pnpm env remove --global 14.0.0 16.2.3

5.4 查看版本

列出本地或远程可用的 Node.js 版本。

  1. # 输出本地安装的版本:
  2. pnpm env list
  3. # 输出远程可用的 Node.js 版本:
  4. pnpm env list --remote
  5. # 输出远程可用的 Node.js 16 版本:
  6. pnpm env list --remote 16

5.5 安装事项

选择安装 20.0.0 版本。(具体安装哪个版本根据自己需要来)

  1. pnpm env use --global 20.0.0
  2. # 安装记录
  3. C:\Users\Monoder>pnpm env use --global 20.0.0
  4. Fetching Node.js 20.0.0 ...
  5. Node.js 20.0.0 was installed
  6. F:\A_Tools\VersionControl\pnpm\nodejs\20.0.0
  7. Node.js 20.0.0 is activated
  8. F:\A_Tools\VersionControl\pnpm\node.exe -> F:\A_Tools\VersionControl\pnpm\nodejs\20.0.0\node.exe

安装的目录默认位于pnpm的安装目录,暂时没发现可以修改的方法;

6、创建vue项目

在项目目录下打开cmd窗口

6.1 创建vite

  1. # 创建项目:pnpm create vite
  2. PS E:\C_Project\VUE> pnpm create vite
  3. .../pnpm/pnpm-store/v3/tmp/dlx-29932 | +1 +
  4. .../pnpm/pnpm-store/v3/tmp/dlx-29932 | Progress: resolved 1, reused 1, downloaded 0, added 1, done
  5. # 输入项目名称:my-vue
  6. ? Project name: » vite-project
  7. # 选择构建框架:Vue
  8. ? Select a framework: » - Use arrow-keys. Return to submit.
  9. > Vanilla
  10. Vue
  11. React
  12. Preact
  13. Lit
  14. Svelte
  15. Solid
  16. Qwik
  17. Others
  18. # 选择脚本语言:TypeScript
  19. ? Select a variant: » - Use arrow-keys. Return to submit.
  20. > TypeScript
  21. JavaScript
  22. Customize with create-vue ↗
  23. Nuxt ↗
  24. # 构建完成,初始化项目
  25. Scaffolding project in E:\C_Project\VUE\my-vue...
  26. Done. Now run:
  27. cd my-vue
  28. pnpm install
  29. pnpm run dev

  1. # 切换到项目目录下:cd .\my-vue\
  2. PS E:\C_Project\VUE> cd .\my-vue\
  3. # 构建项目:pnpm install
  4. PS E:\C_Project\VUE\my-vue> pnpm install
  5. Packages: +47
  6. +++++++++++++++++++++++++++++++++++++++++++++++
  7. Progress: resolved 69, reused 47, downloaded 0, added 47, done
  8. dependencies:
  9. + vue 3.3.8
  10. devDependencies:
  11. + @vitejs/plugin-vue 4.4.1
  12. + typescript 5.2.2
  13. + vite 4.5.0
  14. + vue-tsc 1.8.22
  15. Done in 13.6s
  16. # 启动项目:pnpm run dev
  17. PS E:\C_Project\VUE\my-vue> pnpm run dev
  18. > my-vue@0.0.0 dev E:\C_Project\VUE\my-vue
  19. > vite
  20. VITE v4.5.0 ready in 431 ms
  21. ➜ Local: http://localhost:5173/
  22. ➜ Network: use --host to expose
  23. ➜ press h to show help

6.2 创建vue

  1. # 创建项目:pnpm create vue
  2. PS E:\C_Project\VUE> pnpm create vue
  3. .../pnpm/pnpm-store/v3/tmp/dlx-1436 | +1 +
  4. .../pnpm/pnpm-store/v3/tmp/dlx-1436 | Progress: resolved 1, reused 1, downloaded 0, added 1, done
  5. Vue.js - The Progressive JavaScript Framework
  6. # my-vue
  7. ? 请输入项目名称: » vue-project
  8. # 下面是一些可供选择的插件
  9. ? 是否使用 TypeScript 语法? » 否 /
  10. √ 是否启用 JSX 支持? ... 否 /
  11. √ 是否引入 Vue Router 进行单页面应用开发? ... 否 /
  12. √ 是否引入 Pinia 用于状态管理? ... 否 /
  13. √ 是否引入 Vitest 用于单元测试? ... 否 /
  14. √ 是否要引入一款端到端(End to End)测试工具? » 不需要
  15. √ 是否引入 ESLint 用于代码质量检测? ... 否 /
  16. 正在构建项目 E:\C_Project\VUE\my-vue...
  17. 项目构建完成,可执行以下命令:
  18. cd my-vue
  19. pnpm install
  20. pnpm format
  21. pnpm dev

  1. # 切换到项目目录下:cd .\my-vue\
  2. PS E:\C_Project\VUE> cd .\my-vue\
  3. # 构建项目:pnpm install
  4. PS E:\C_Project\VUE\my-vue> pnpm install
  5. Packages: +315
  6. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7. Progress: resolved 337, reused 304, downloaded 11, added 315, done
  8. node_modules/.pnpm/vue-demi@0.14.6_vue@3.3.8/node_modules/vue-demi: Running postinstall script, done in 177ms
  9. dependencies:
  10. + pinia 2.1.7
  11. + vue 3.3.8
  12. + vue-router 4.2.5
  13. devDependencies:
  14. + @rushstack/eslint-patch 1.5.1
  15. + @tsconfig/node18 18.2.2
  16. + @types/node 18.18.9 (20.9.0 is available)
  17. + @vitejs/plugin-vue 4.4.1
  18. + @vitejs/plugin-vue-jsx 3.0.2
  19. + @vue/eslint-config-prettier 8.0.0
  20. + @vue/eslint-config-typescript 12.0.0
  21. + @vue/tsconfig 0.4.0
  22. + eslint 8.53.0
  23. + eslint-plugin-vue 9.18.1
  24. + npm-run-all2 6.1.1
  25. + prettier 3.1.0
  26. + typescript 5.2.2
  27. + vite 4.5.0
  28. + vue-tsc 1.8.22
  29. Done in 1m 21s
  30. # 启动项目:pnpm dev
  31. PS E:\C_Project\VUE\my-vue> pnpm dev
  32. > my-vue@0.0.0 dev E:\C_Project\VUE\my-vue
  33. > vite
  34. VITE v4.5.0 ready in 847 ms
  35. ➜ Local: http://localhost:5173/
  36. ➜ Network: use --host to expose
  37. ➜ press h to show help

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/760267
推荐阅读
  

闽ICP备14008679号