安装node.js、npm、pnpm和报错解决

用命令的方式安装适合自己的node.js版本

# 安装 fnm (快速 Node 管理器)
winget install Schniz.fnm

# 配置 fnm 环境
fnm env --use-on-cd | Out-String | Invoke-Expression

# 下载并安装 Node.js
fnm use --install-if-missing 18

# 验证环境中是否存在正确的 Node.js 版本
node -v # 应该打印 `v18.20.4`

# 验证环境中是否存在正确的 npm 版本
npm -v # 应该打印 `10.7.0`

npm install 一直卡着不动如何解决

1、强制清理 npm 缓存

npm cache clean --force 

2、设置镜像源

npm config set registry https://registry.npmmirror.com

3、查看镜像源是否成功(正常情况下都会成功,没遇到过不成功的)

npm config get registry

4、直接安装,或作下载需要的npm包就可以了

npm install ...

pnpm 是一款磁盘空间高效的软件包管理器。

当使用 npm 或 Yarn 时,如果你有 1000个项目,并且所有项目都有一个相同的依赖包,那么, 你在硬盘上就需要保存 100 份该相同依赖包的副本。然而,如果是使用 pnpm,依赖包将被存放在一个统一的位置,因此以项目和依赖包的比例来看,使用 pnpm 将节省大量的硬盘空间,并且安装速度也能大大提高,目前,pnpm 已发布 6.8.0 版本,此版本包含许多新功能、性能优化以及错误修复,主要更新内容如下:

  • pnpm 号称是同类工具速度的将近 2 倍
  • node_modules 中的所有文件均链接自单一存储位置
  • pnpm内置了对单个源码仓库中包含多个软件包的支持
  • pnpm 创建的 node_modules 并非扁平结构,因此代码不能对任意软件包进行访问
  • pnpm:官网传送门https://pnpm.io/zh/motivation

先安装所需环境

Node环境(✔️)
npm环境(✔️)

报错信息:

PS E:\frontProject\xingyun-front> npm install -g pnpm
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/pnpm failed, reason: certificate has expired
2_55_072Z-debug-0.log

解决办法:

1、手动设置npm镜像源

有时,npm的默认镜像源可能会出现证书问题。您可以尝试切换到另一个镜像源,例如使用淘宝镜像。可以通过以下命令来设置:

// 设置镜像
C:\Users\Administrator>npm config set registry https://registry.npm.taobao.org/
// 获取设置的镜像是否成功
C:\Users\Administrator>npm config get registry 
// 结果
https://registry.npm.taobao.org/

2、清除缓存

// 清除npm缓存
npm cache clean --force
结果:npm WARN using --force Recommended protections disabled. 这个不是错误,只是一个警告,不影响

3、禁用SSL

虽然不推荐,但您可以暂时禁用SSL验证来解决这个问题。但请注意,这会降低安全性。您可以通过设置npm的 strict-ssl 选项为 false 来实现:

npm config set strict-ssl false

继续安装 pnpm

继续执行命令:

npm install -g pnpm

结果:

changed 1 package in 3s

1 package is looking for funding

run `npm fund` for details

这个就是安装成功了!!!!

测试pnpm

pnpm --version

但是使用pnmp 还报错

报错信息:

pnpm : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参  

阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

所在位置 行:1 字符: 1

\+ pnpm config set registry https://registry.npm.taobao.org/

  \+ CategoryInfo      : SecurityError: (:) [],PSSecurityException

\+ FullyQualifiedErrorId : UnauthorizedAccess

打开权限

对应这个问题:因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

解决办法:

这是由于系统的 PowerShell 执行策略限制了运行脚本的权限,进而导致无法执行 pnpm 命令。你可以根据以下步骤来解决这个问题:

1、第一步:以管理员身份打开 PowerShell:

以管理员身份打开 PowerShell,然后执行以下命令来修改执行策略为 RemoteSigned:

在这里插入图片描述

2、第二步:更改策略

修改策略命令,可以参考截图

Set-ExecutionPolicy RemoteSigned

选择 Y ,改变策略Y
在这里插入图片描述
再次使用 pnpm 命令

问题解决: pnpm --version
在这里插入图片描述
到这里我们就完美解决pnpm安装报错的问题了!

### 解决 `npm install pnpm` 错误方案 当遇到 `npm install pnpm -g` 后无法正常使用 pnpm 命令的情况时,可能是因为环境变量未正确配置或 npm 全局路径设置当。以下是详细的排查修复方法: #### 1. 检查当前 NPM 配置 查看现有的 npm 配置信息有助于了解是否有任何异常配置影响了全局包的安装。 ```bash npm config ls ``` 这一步骤能够帮助确认使用的镜像源其他重要参数是否正确[^2]。 #### 2. 设置合适的 NPM 镜像源 如果默认的 npm 官方仓库响应速度较慢或者稳定,可以切换至国内更快捷的镜像站点来加速下载过程。 ```bash npm config set registry https://registry.npm.taobao.org ``` 此操作会更改 npm 的默认注册表地址为淘宝提供的中国区 CDN 加速服务。 #### 3. 安装 Pnpm 并验证版本号 尝试重新安装最新版次的 pnpm 工具,并立即测试其可用性。 ```bash npm install pnpm -g pnpm -v ``` 通过上述命令可确保新安装后的 pnpm 能够被识别并显示正确的版本信息。 #### 4. 获取全局模块目录位置 为了进一步诊断问题所在,获取 npm 全球范围内的软件包存储地点非常重要。 ```bash npm list -g prefix ``` 该指令返回的结果应该类似于 `/usr/local/lib/node_modules` 或者其他自定义的位置;记录下这个路径以便后续使用。 #### 5. 更新系统 PATH 环境变量 为了让操作系统能够在任意终端窗口中找到刚安装好的 pnpm 可执行文件,需将上一步获得的 global bin 文件夹加入到系统的 PATH 中去。 编辑 `/etc/profile` 文件,在其中追加一行用于导出新的路径声明: ```bash export PATH="/dtdp/node/node-v16.15.0-linux-x64/node_global/bin/:$PATH" ``` 保存修改后记得运行一次 `source /etc/profile` 来即时应用这些改动。 完成以上步骤之后再次尝试调用 `pnpm -v` 应能顺利得到回应而报错。另外值得注意的是,某些旧版本的 Node.js 存在一个已知漏洞可能导致依赖解析失败等问题,建议升级到更稳定的发行版以规避潜在风险[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值