• 解决nodejs使用yarn安装vue-cli提示'vue' 不是内部或外部命令


    Nodejs使用yarn安装vue-cli提示'vue' 不是内部或外部命令

    环境

    软件 版本
    nodejs v8.11.3
    npm 6.11.3
    yarn 1.17.3
    vue-cli 3.11.0
    C:Usersxxx>node -v
    v8.11.3
    
    C:Usersxxx>npm -v
    6.11.3
    
    C:Usersxxx>yarn -v
    1.17.3
    
    C:Usersxxx>vue --version
    3.11.0
    
    

    官网下载最新的nodejs软件,为windows x64的zip版(node-v10.16.3-win-x64.zip)。直接解压,然后配置环境变量,添加对应目录到path变量中。设置了npm安装源为淘宝镜像,安装路径前缀为指定global目录。并且安装yarn。

    因为是公司内网,使用代理上网。npm安装包特别慢。反而yarn要快点。所以使用yarn安装vue脚手架。

    Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。

    问题

    虽然网络不好,经过多次尝试,最终还是安装完成了vue脚手架。但是在命令行输入vue --version(3.X的命令),提示:'vue' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    解决

    网上给的解决方案一般都是让将node安装的路径(global目录)添加到path下。查看指定的global目录中只有npm和yarn的执行文件,没有vue的执行文件,并且多了一个bin目录。

    node-yarn-vue-1.png

    查看bin目录中有vue.cmd文件

    node-yarn-vue-2.png

    尝试将该bin目录也加入到path下。然后再次执行vue --version。这次提示:文件名、目录名或卷标语法不正确。

    D:Programs
    ode-v10.16.3-win-x64
    ode-globalin>vue --version
    文件名、目录名或卷标语法不正确。
    

    这个错误就觉得是哪个参数有问题了,但是我没传文件夹路径呀!

    随后打开该vue.cmd文件。就一行代码

    @"%~dp0C:UsersxxxAppDataLocalYarnDataglobal
    ode_modules.binvue.cmd"   %*
    

    原来yarn安装后的路径在C:UsersxxxAppDataLocalYarnDataglobal ode_modules.binvue.cmd,这边只是封装一下调用。问题就出现在路径前面的%~dp0,我cmd命令会的不多,这个应该是指当前目录。但是这个路径明显不存在。

    2个解决方法:

    1. C:UsersxxxAppDataLocalYarnDataglobal ode_modules.bin添加到path环境变量中

    2. 将cmd文件中的%~dp0去掉(同时bin目录要在环境变量中)

    个人认为第一个比较直接,后面类似问题都能避免。第二种没遇到这个问题都要这么做,比如webpack也是这样的问题。

  • 相关阅读:
    2016年3月3日
    性能测试之我解
    Vim命令合集
    vi-vim常用命令
    架构的本质是
    网站三层架构学习之一 分层式结构
    Spring 4 + Quartz 2.2.1 Scheduler Integration Example
    “城市民族工作条例”详解--建议废止
    字符串匹配处理
    LogBack简易教程
  • 原文地址:https://www.cnblogs.com/jimmyfan/p/11556777.html
Copyright © 2020-2023  润新知