1.npm 全局安装 找不到命令 2. 运行程序另起一个cmd

运行命令 会自动启动另一个窗口

运行 jest test.spec.js命令 会报错 无法将“jest”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
我使用了 npm install jest -gnpm install jest 都不行
所以我直接找到文件包 来跑命令 c:/Users/Administrator/AppData/Roaming/npm/jest test.spec.js
但是这样会另起一个cmd 窗口运行 导致我程序无法获取到 运行的log

求大佬解答

1.如何让npm包能找到

2.如何让任务启动后再当前窗口运行 并且打印log

解决其中一个 即可

@guohui666

感谢

一般是没有配置系统变量的原因

我npm -g 还要去配置系统变量吗 怎么配置呢 :neutral_face:

运行脚本不是用npm? jest test.spec.js命令你是从那里看到的?

你的意思是 npm jest test.spec.js ?
或者 npm run jest test.spec.js

我本地直接运行 jest test.spec.js 是有效的

本地应该配置了环境变量,你可以看下你本地的jest环境变量,除了本地你还跑到线上做单元测试?

本地环境变量没看到在哪里 我现在就是想做自动化测试 但是运行脚本只后 另起一个窗口 程序获取不到 测试的log 以为没有log 测试直接成功

你要点开path瞧一瞧

大佬请看


那应该和环境变量无关了,你直接运行jest也会报错?我咋不会

我直接运行是可以的 但是在自动化测试 上就报错 所有我找到了那个包的路径 用包的路径来运行 就另起窗口 我也是很烦

我在自动化开始前 也运行过 npm i jest 和 npm i
jest -g 都会报错 所有我才选择直接找到这个文件

自动化测试就不知道了,你可以尝试手动加一下path

手动加path? 什么意思 难道不是这样吗 c:/Users/Administrator/AppData/Roaming/npm/jest test.spec.js 但是这样 有问题

我理解你直接这样用就不是以命令了,而是运行了文件,自然会启动一个cmd,不在你当前的cmd窗口内了

可以参考下


按理来说这个命令是在npm下的,而npm已经在环境变量里了,不会出现你这种问题才对。