首页 前端知识 npm版本切换

npm版本切换

2024-06-08 22:06:25 前端知识 前端哥 975 40 我要收藏

在实际开发中,不同的npm版本、node版本可能会导致某些项目无法正常工作,因为不同版本的npm可能具有不同的功能和行为。在修改npm版本之前,请确保你了解可能会带来的潜在影响,并确保你的项目可以适应所选的npm版本。

【背景】

     在编译过程中发生报错,排查后发现在vue.config的配置文件中对于process.env的获取依赖于node与npm版本。

process.env是 Node.js 中的一个环境对象;

其中保存着系统的环境的变量信息,可使用 Node.js 命令行工具直接进行查看。

  • process.env.NODE_ENV(环境变量):

    • 这个变量主要用于标识当前的环境(生产环境,开发环境)。

    • 默认是没有这个环境变量的,需要自己手动配置。

    • 其值通常为“production”(生产环境)和“development”(开发环境),或者“prod”和“dev”,以此来区分不同环境下的逻辑行为。

  • process.env.npm_config_argv(环境变量) :

    • 保存了当前运行的npm命令和其参数,值是一个JSON字符串,其中包含了命令行参数的详细信息。

    • 通过解析该字符串,我们可以获取到当前npm命令及其参数的具体值。

    • 在使用Webpack进行打包时,判断process.env.npm_config_argv的值通常是为了根据命令行参数来决定打包的行为。

【问题】

由于以下原因,导致项目编译过程中出现报错:

process.env.npm_config_argv的含义

查看后发现本地的npm版本为9.8.1过高导致取值失败,因此采取降版本操作。(查看当前npm版本)

在降版本过程中,发现即便终端显示已经安装包成功,但是npm -v后仍然为固定的版本,因此进一步进行问题排查。(更新后的npm版本信息)

处理过程:

1、怀疑package版本锁死,因此,修改package.json内npm版本号信息,并删除package-lock.json和node_modules 执行npm install 完成重新安装,发现文件内版本号已发生改变,但是获取版本信息仍为高版本。

2、怀疑是由于安装路径和读取路径不一致导致的问题。

        电脑中存在两个npm文件,一个在npm的安装路径,另一个是npm的全局安装路径,两个npm的路径不相同,而我们更新的是npm安装路径下的npm,使用的是npm的全局安装路径下的npm。

#npm 更改全局安装包的默认位置#_npm下载的安装路径怎么换-CSDN博客

修改npm全局安装包的位置路径_修改npm root -g的目录-CSDN博客

npm显示升级到最新版本仍然显示npm为原版本的问题解决_npm 最新版本-CSDN博客

  • 查看安装路径——npm root -g

  • 全局安装路径——npm config get prefix

  • 修改安装路径——npm config set prefix 【安装路径】

  • 更新npm包——更新到最新版本:npm install -g npm;更新到指定版本:npm install npm@指定版本 -g。

如还不生效,可采取清npm缓存,重新启动的方式进行更新,在终端内检查结果已经更新。

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11549.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!