美文网首页
nrm throw new ERR_INVALID_ARG_TY

nrm throw new ERR_INVALID_ARG_TY

作者: 板栗炖牛肉 | 来源:发表于2021-02-20 10:18 被阅读0次

    正确前言

    坑,非常坑。幸好自己从头跑了一遍。

    • 正确报错分析,导致原因这次不是node高版本了。但是也是有点连带关系的。总不能说限制node升级吧,emmm。归根---啊,是npm版本过高,没想到吧


      image.png
    • 今后所有安装(nrm不更新)不管高版本node还是低版本node都得报错。坑

    正确解决方案(windows环境)

    1.这次不瞎吹了。入正题

    2.作者npm版本6.9.0,能够正常运行,但不是全局的那种。

    3.nrm安装目录,看每个人的安装目录在哪里,一般都是C:\Users\用户账号\AppData\Roaming\npm\node_modules\nrm

    image.png

    4.进入了安装目录,emm聪明的都想到了。嘘!

    5.打开packjson

    6.没错就是这个,直接更新到最新版本了,直接把我带沟里了


    image.png

    7.如果用了我的错误方法,退到了旧版本也不要急,不影响的。

    8.改为6.9.0,对现有外部项目和node,npm等不会有丝毫影响

    image.png

    9.回到目录,运行cmd


    image.png

    10.yarn或者npm i更新包

    11.nrm ls成功,附带node版本

    image.png

    Ps

    • 错误结论不删除,提醒作者要严谨,阿弥陀佛

    错误前言

    目标环境 windows node版本lts:14.15.5

    • 报错分析,node高版本下载nrm报错,旧版本10.16.3下载使用正常
    internal/validators.js:121
        throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
        ^
    
    [TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
      at validateString (internal/validators.js:121:11)
      at Object.join (path.js:375:7)
      at Object.<anonymous> (C:\Users\Administrator\AppData\Roaming\npm\node_modules\nrm\cli.js:17:20)
      at Module._compile (internal/modules/cjs/loader.js:1200:30)
      at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
      at Module.load (internal/modules/cjs/loader.js:1049:32)
      at Function.Module._load (internal/modules/cjs/loader.js:937:14)
      at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
      at internal/main/run_main_module.js:17:47
    ] {
      code: 'ERR_INVALID_ARG_TYPE'
    }
    

    -node版本下载
    -nvm命令引用

    错误解决方案

    1.第一种,回退node版本,使用nrm

    2.第二种,等待nrm更新。。估计没戏

    3.使用nvm,使用低版本安装nrm,高版本使用。

    nvm安装(windows环境)

    1.首先说明nvm是什么,nvm全名称node.js version management。说白了就是跟npm一样的包管理器,不过它是管理Node版本的。

    2.声明他不是使用npm安装的。npm安装运行后运行他会提示你不是一个package

    3.https://github.com/coreybutler/nvm-windows/releases

    4.选择最新版本的nvm-setup.zip。这个是安装包

    image.png

    5.zip解压是一个exe。打开安装...。如果你已经安装的有node,安装过程会提示你接管现有Node。yes就行,选择安装目录,和node目录,ok。

    6.nvm命令

    nvm off                     //禁用node.js版本管理(不卸载任何东西)
    nvm on                      //启用node.js版本管理
    nvm install <version>       //安装node.js的命名 version是版本号 例如:nvm install 8.12.0
    nvm uninstall <version>     //卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用
    nvm list                    //显示所有安装的node.js版本
    nvm list available          //显示可以安装的所有node.js的版本
    nvm use <version>           //切换到使用指定的nodejs版本
    

    7.使用命令nvm list available,windows用户一般使用lts的。版本14.15.5。或者其他

    image.png

    8.切换版本nvm use 14.15.5

    9.这时候,nrm ls命令,发现可以正常使用。

    Ps

    • 某些原因要是用高版本node,迂回战术解决一下nrm。

    相关文章

      网友评论

          本文标题:nrm throw new ERR_INVALID_ARG_TY

          本文链接:https://www.haomeiwen.com/subject/qwdtfltx.html