Node报错与Nvm

1、 卡在sill idealTree buildDeps

参考:关于npm install 时报错errno ECONNREFUSED问题的解决
在这里插入图片描述

可以发现,删除https-proxy之后,使用npm config get registry,也能够 获取淘宝的代理。

2、Node Sass老是安装不上的问题

1、我用nvm把node版本降到了LTS(稳定版) 14.0.7

2、使用npm install进行依赖安装。一些依赖安装上了,但报错安装gyp失败,先安装gyp:

  • 首先执行npm install -g node-gyp全局安装node-gyp
  • 检查是否安装上:执行node-gyp list

3、npm install报错 python版本3.9.0高了,用cnpm install解决

先npm 安装其他包,最后再cnpm install 安装sass,虽然报错depracated,但是还是可以跑起来。

==核心:在Node14版本下,安装了node-gyp包后,只用cnpm 来安装sass和sass-loader,其他包用npm来安装 ==


其他方法:
在这里插入图片描述

先是打开命令行窗口,用管理员身份打开然后进入项目所在路径
然后依次运行
npm install sass-loader@7.3.1 --save-dev
npm install sass-resources-loader

npm uninstall node-sass
npm i -D sass
npm install style-loader --save –force
可以再去dependence里面去把sass:"版本号”改成node-sass:"版本号"以及修改俩个版本号"node-sass": "^4.11.1","sass-loader": "^7.3.0"

3、unable to resolve dependency tree

在这里插入图片描述
解决办法
npm i --legacy-peer-deps

4、nvm相关命令

参考

1,nvm nvm list 是查找本电脑上所有的node版本

- nvm list 查看已经安装的版本
- nvm list installed 查看已经安装的版本
- nvm list available 查看网络可以安装的版本(LTS(稳定版) )

2,nvm install 安装最新版本nvm

3,nvm use <version> # 切换使用指定的版本node,乱码可能要使用管理员方式打开

4,nvm ls 列出所有版本

5,nvm current显示当前版本

6,nvm alias <name> <version> ## 给不同的版本号添加别名

7,nvm unalias <name> ## 删除已定义的别名

8,nvm reinstall-packages <version> ## 在当前版本node环境下,重新全局安装指定版本号的npm包

9,nvm on 打开nodejs控制

10,nvm off 关闭nodejs控制

11,nvm proxy 查看设置与代理

12,nvm node_mirror [url] 设置或者查看setting.txt中的node_mirror,如果不设置的默认是 https://nodejs.org/dist/
  nvm npm_mirror [url] 设置或者查看setting.txt中的npm_mirror,如果不设置的话默认的是: https://github.com/npm/npm/archive/.

13,nvm uninstall <version> 卸载制定的版本

14,nvm use [version] [arch] 切换制定的node版本和位数

15,nvm root [path] 设置和查看root路径

16,nvm version 查看当前的版本

5、设置淘宝镜像等基操

5.1 镜像

临时:
npm config set registry https://registry.npm.taobao.org
长久:
npm install --registry=https://registry.npm.taobao.org
查看:
npm config get proxy
npm config get https-proxy
参考

5.2 npm清理缓存

npm cache clean –force

删除modules那个包,package.lock.json有的话也删了,

然后npm install ,报错的话,根据结果用 npm install --legacy-peer-deps

6、Browserslist: caniuse-lite is outdated + loader

报错

Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
 INFO  Starting development server...
 ERROR  WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.

参考:Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest
但不起作用:

 contains exclamation mark (!) which is not allowed because it's reserved for loader syntax.
   -> The base directory (absolute path!) for resolving the `entry` option. If `output.pathinfo` is set, the included pathinfo is shortened to this directory.
 - configuration.module.rules[14].include should be one of these:
   RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? } | [RegExp | string | function | [(recursive)] | object { and?, exclude?, include?, not?, or?, test? }]
   -> One or multiple rule conditions
   Details:
   ...
   which is not allowed because it's reserved for loader syntax.
   ...

好像是不支持loader

尝试:降低一下node版本 14.17.0版本就不会出现这个报错了:

  1. nvm list available发现稳定版本都是16.x了
  2. 直接安装nvm install 14.17.0,发现自己已经安装了并且一直在使用,所以不行…

尝试:安装LTS版本的node版本
1 . nvm install 16.17.1
2. 管理员cmd,然后nvm use 16.17.1,然后npm run dev
3. 还是不行,换回来nvm use 14.17.0

尝试:修改loader的相关代码...

20231014更新:
居然将前端项目放在纯英文路径下,npm install之后就可以npm run dev了,
就不报错什么loader之类的了。
以后前端项目都放在D盘的某个英文路径下!

另外,npm install前,删除前端打包的内容

7、Nvm执行nvm ls available命令报错:xxx509: certificate has expired or is not yet valid,npm淘宝镜像源的更换

解决办法:原文链接

8、如何实现nvm切换Node版本,npm的版本也随之切换

重要参考:【Nodejs】使用 nvm 管理不同版本的 node 与 npm,与nodjs安装方法

  • 首先最重要的是:一定要卸载已安装的 NodeJS,否则会发生冲突。(npm版本会一直固定,不会随着nvm的切换而切换

获取 .npmrc 用户配置文件路径(参考

$ npm config get userconfig # C:\Users\180...34\.npmrc

npm的其他配置命令(参考):

# 查看npm版本
$ npm --version
$ npm -v

# 查看所有配置
$ npm config list -l
$ npm config ls -l

# 查看用户配置(用户的配置文件在~\.npmrc)
$ npm config list
$ npm config ls

# 查看prefix和cache的配置
# prefix用于存放npm全局安装的包,cache用于缓存已下载的包
$ npm config get prefix cache

# 配置npm全局安装目录(默认安装在当前npm目录下,如果切换了npm会导致之前的全局安装无法使用)
$ npm config set prefix=D:\program\nvm\node-global
$ npm config set cache=D:\program\nvm\node-cache

# windows要将prefix加到PATH中,否则无法执行全局包的bin
# NPM_HOME: D:\program\nvm\node-global
# %NPM_HOME%加入PATH中

# 设置镜像
$ npm config set registry=https://registry.npmmirror.com/

# 删除配置项
$ npm config delete registry

配置nvm的环境变量

NVM_HOME 是 nvm 的安装目录,需要加到 PATH 中才能使用 nvm 的命令。D:\program\nvm`)

NVM_SYMLINK 指向当前使用的node,需要加到 PATH 中才能使用 node 的命令。

  • path 是 NVM_SYMLINK,是一个快捷方式,nvm 切换版本的时候会将 NVM_SYMLINK 指向对应版本的 node。

    • 1、查看npm bin的位置(npm config ls,这也可以看见userconfig文件.npmrc文件的文职)

      ...
      node bin location = C:\Program Files\nodejs\node.exe
      ...
      

      2、果然是个快捷方式

      在这里插入图片描述

我电脑的nvm环境变量:

在这里插入图片描述

8.1 为什么删除了以前的环境变量之后,为什么还是显示固定版本?

答:解决办法是,修改.npmrc 用户配置文件中的prefix和cache,使它们指向新的文件夹,而不是最开始安装的node版本文件夹。

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值