安装 nodejs,运行 npm 命令有用,但是提示“不是内部或外部命令” - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
haikea
V2EX    Node.js

安装 nodejs,运行 npm 命令有用,但是提示“不是内部或外部命令”

  •  
  •   haikea 2019-05-15 00:28:51 +08:00 13889 次点击
    这是一个创建于 2394 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟最近想学习下前端 vue,就先安装下环境,很奇怪公司的电脑按流程走下来都没问题,网上的 demo 也运行成功能在本地访问。
    但是在自己的电脑上安装完 nodejs 后,npm 命令一直有问题,比如运行 npm -v 会出现版本信息,但是会先提示“不是内部或外部命令”,一直搞不明白是哪里的问题。我换 nodejs 版本从稳定帮换成最新版安装,还是会出现一样的问题,也不是 path 配置的问题。
    24 条回复    2019-05-16 09:50:31 +08:00
    fsdgfd
        1
    fsdgfd  
       2019-05-15 00:31:21 +08:00 via Android   1
    装完之后重新打开命令行试试,还不行的话重启电脑试试?
    haikea
        2
    haikea  
    OP
       2019-05-15 00:32:19 +08:00
    C:\windows\system32>npm -v
    'CALL "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules
    \npm\bin\npm-cli.js" prefix -g' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    6.9.0
    haikea
        3
    haikea  
    OP
       2019-05-15 00:33:18 +08:00
    C:\windows\system32>node -v
    v12.2.0

    C:\windows\system32>npm -v
    'CALL "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules
    \npm\bin\npm-cli.js" prefix -g' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    6.9.0
    haikea
        4
    haikea  
    OP
       2019-05-15 00:34:03 +08:00
    @fsdgfd 试过的,效果就像三楼我贴的那样
    agdhole
        5
    agdhole  
       2019-05-15 01:19:17 +08:00 via Android
    卸载了装 10.x lts 的试试
    hoyixi
        6
    hoyixi  
       2019-05-15 01:23:57 +08:00
    Win 下装完 node,一般也会自动给你装个 node 专用的命令行,打开那个命令行试试
    skiy
        7
    skiy  
       2019-05-15 08:07:37 +08:00 via Android
    yarn 满足你
    haikea
        8
    haikea  
    OP
       2019-05-15 08:22:25 +08:00
    @agdhole 谢谢老铁,10.x 和 12.x 我都试过 o()o
    agdhole
        9
    agdhole  
       2019-05-15 08:27:38 +08:00
    @haikea #8 装完之后要重启 /注销,因为 path 要 reload 才能生效
    lovedebug
        10
    lovedebug  
       2019-05-15 09:01:33 +08:00 via Android
    这种问题你应该谷歌错误,环境问题在这里问基本浪费时间
    wlor
        11
    wlor  
       2019-05-15 09:06:05 +08:00
    环境变量没配置对
    rbe
        12
    rbe  
       2019-05-15 09:47:06 +08:00
    推荐使用 nvm 或 nvs 管理 node 版本
    shuigao
        13
    shuigao  
       2019-05-15 10:53:30 +08:00
    菜鸟教程那个 vue 对基础很好的 我前段时间 就是参考那个教程安装的
    way2create
        14
    way2create  
       2019-05-15 11:58:35 +08:00
    按理就是环境变量的问题 配了多个有个错的?
    boris1993
        15
    boris1993  
       2019-05-15 12:29:33 +08:00 via Android
    检查 PATH

    @agdhole 只需要关了 cmd 重开就可以
    iromfeed
        16
    iromfeed  
       2019-05-15 12:45:34 +08:00 via Android
    多谷歌……
    Aliennnnnn
        17
    Aliennnnnn  
       2019-05-15 13:42:36 +08:00
    环境变量的问题,去网上搜一下
    no1xsyzy
        18
    no1xsyzy  
       2019-05-15 15:54:29 +08:00   1
    应该不是环境变量问题,应该是这行报的错:
    https://github.com/npm/cli/blob/v6.9.0/bin/npm.cmd#L12
    甚至还没进 node 就报错了
    几个环境变量都正常展开了

    理论上来说 for in ('***') 应该被当作 cmd 命令解析,比如这样:

    > for /f "delims=" %f in ('callc cat D:\test\warnings.txt') do @echo %f
    'callc' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    上面特地将 call 错拼成 callc,发现错误会提示出现在 callc 上,而不是整句上。
    所以应该检查一下 npm.cmd 内容是否有问题。
    no1xsyzy
        19
    no1xsyzy  
       2019-05-15 16:09:54 +08:00   1
    似乎是环境变量 ComSpec 被修改了?
    又是奇奇怪怪的副作用……
    ultimate
        20
    ultimate  
       2019-05-15 18:27:31 +08:00
    实在不行就换 Linux 或 mac 吧
    haikea
        21
    haikea  
    OP
       2019-05-16 08:32:50 +08:00
    @no1xsyzy 谢谢老铁,就是 ComSpec 的问题,里面加了个 mevan 的路径,删掉就好了,你是怎么看出来的啊
    haikea
        22
    haikea  
    OP
       2019-05-16 08:33:56 +08:00
    @no1xsyzy 谢谢老铁,问题解决了,原来是 ComSpec 的问题,不过和你说的这个应该也有关系,我今天来研究下这个文件
    no1xsyzy
        23
    no1xsyzy  
       2019-05-16 09:19:04 +08:00
    @haikea 是搜索出来的,我在 #18 只是隐约感觉到是 shell lexer 被篡改了…… 之后从头搜索一下你的问题就到了 StackOverflow,被掺的东西似乎也是各种各样。
    不过真没想到 Windows 下 Shell 是按照环境变量来调用子 Shell 的…… 词法会被其他的地方改变简直是蠢。
    haikea
        24
    haikea  
    OP
       2019-05-16 09:50:31 +08:00
    @no1xsyzy 原来是这样的,看来我要学习的还很多
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1167 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 23:39 PVG 07:39 LAX 15:39 JFK 18:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86