V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
haikea
V2EX  ›  Node.js

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

  •  
  •   haikea · 2019-05-15 00:28:51 +08:00 · 13044 次点击
    这是一个创建于 1780 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟最近想学习下前端 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   ·   我们的愿景   ·   实用小工具   ·   2933 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:12 · PVG 22:12 · LAX 07:12 · JFK 10:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.