zoukankan      html  css  js  c++  java
  • 解决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也是这样的问题。

  • 相关阅读:
    [luoguP2762] 太空飞行计划问题(最大权闭合图—最小割—最大流)
    [luoguP2680] 运输计划(lca + 二分 + 差分)
    [luoguP2758] 编辑距离(DP)
    [luoguP2890] [USACO07OPEN]便宜的回文Cheapest Palindrome(DP)
    Javascript对象拷贝(clone)
    使用JavaScript访问XML数据
    javascript 树形菜单
    Simple JavaScript Inheritance
    用 javascript 操作 xml
    javascript flash 弹框
  • 原文地址:https://www.cnblogs.com/jimmyfan/p/11556777.html
Copyright © 2011-2022 走看看