Javascript npm脚本抛出一个错误,但不会';我没有提供任何有用的东西

Javascript npm脚本抛出一个错误,但不会';我没有提供任何有用的东西,javascript,node.js,npm,Javascript,Node.js,Npm,正在尝试运行jest并查看我的测试是否通过。然而,运行jest反而给了我这个非常隐晦的错误。是否有任何方法可以从节点错误消息中获取有用的信息,或者我只是无法正确阅读 0 info it worked if it ends with ok 1 verbose cli [ '/home/ec2-user/.nvm/versions/node/v10.4.0/bin/node', 1 verbose cli '/home/ec2-user/.nvm/versions/node/v10.4.0/bi

正在尝试运行
jest
并查看我的测试是否通过。然而,运行jest反而给了我这个非常隐晦的错误。是否有任何方法可以从节点错误消息中获取有用的信息,或者我只是无法正确阅读

0 info it worked if it ends with ok
1 verbose cli [ '/home/ec2-user/.nvm/versions/node/v10.4.0/bin/node',
1 verbose cli   '/home/ec2-user/.nvm/versions/node/v10.4.0/bin/npm',
1 verbose cli   'run',
1 verbose cli   'test' ]
2 info using npm@6.1.0
3 info using node@v10.4.0
4 verbose run-script [ 'pretest', 'test', 'posttest' ]
5 info lifecycle api_rule_template@0.0.0-beta~pretest: api_rule_template@0.0.0-beta
6 info lifecycle api_rule_template@0.0.0-beta~test: api_rule_template@0.0.0-beta
7 verbose lifecycle api_rule_template@0.0.0-beta~test: unsafe-perm in lifecycle true
8 verbose lifecycle api_rule_template@0.0.0-beta~test: PATH: /home/ec2-user/.nvm/versions/node/v10.4.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/ec2-user/environment/api_rule_template/node_modules/.bin:/home/ec2-user/.nvm/versions/node/v10.4.0/bin:/usr/local/rvm/gems/ruby-2.4.1/bin:/usr/local/rvm/gems/ruby-2.4.1@global/bin:/usr/local/rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/bin:/usr/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/aws/bin:/usr/local/rvm/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin
9 verbose lifecycle api_rule_template@0.0.0-beta~test: CWD: /home/ec2-user/environment/api_rule_template
10 silly lifecycle api_rule_template@0.0.0-beta~test: Args: [ '-c', 'jest' ]
11 silly lifecycle api_rule_template@0.0.0-beta~test: Returned: code: 1  signal: null
12 info lifecycle api_rule_template@0.0.0-beta~test: Failed to exec test script
13 verbose stack Error: api_rule_template@0.0.0-beta test: `jest`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/home/ec2-user/.nvm/versions/node/v10.4.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:304:16)
13 verbose stack     at EventEmitter.emit (events.js:182:13)
13 verbose stack     at ChildProcess.<anonymous> (/home/ec2-user/.nvm/versions/node/v10.4.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:182:13)
13 verbose stack     at maybeClose (internal/child_process.js:961:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
14 verbose pkgid api_rule_template@0.0.0-beta
15 verbose cwd /home/ec2-user/environment/api_rule_template
16 verbose Linux 4.14.33-51.37.amzn1.x86_64
17 verbose argv "/home/ec2-user/.nvm/versions/node/v10.4.0/bin/node" "/home/ec2-user/.nvm/versions/node/v10.4.0/bin/npm" "run" "test"
18 verbose node v10.4.0
19 verbose npm  v6.1.0
20 error code ELIFECYCLE
21 error errno 1
22 error api_rule_template@0.0.0-beta test: `jest`
22 error Exit status 1
23 error Failed at the api_rule_template@0.0.0-beta test script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
0信息如果它以ok结尾,它就工作了
1详细cli['/home/ec2 user/.nvm/versions/node/v10.4.0/bin/node',
1 verbose cli'/home/ec2 user/.nvm/versions/node/v10.4.0/bin/npm',
1详细cli“运行”,
1详细cli“测试”]
2信息使用npm@6.1.0
3信息使用node@v10.4.0
4详细的运行脚本[‘预测试’、‘测试’、‘后测试’]
5信息生命周期api_规则_template@0.0.0-beta~预测试:api_规则_template@0.0.0-贝塔
6信息生命周期api_规则_template@0.0.0-beta~测试:api_规则_template@0.0.0-贝塔
7详细的生命周期api_规则_template@0.0.0-beta~测试:生命周期中的不安全烫发正确
8详细生命周期api_规则_template@0.0.0-测试:路径:/home/ec2 user/.nvm/versions/node/v10.4.0/lib/node_modules/npm/node_modules/npm lifecycle/node gyp bin:/home/ec2 user/environment/api_rule_template/node_modules/.bin:/home/ec2 user/.nvm/versions/node/v10.4.0/bin:/usr/local/rvm/gems/ruby-2.4.1/bin:/usr/local/rvm/gems/gems/ruby-2.4.4。1@global/bin:/usr/local/rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/bin:/usr/bin:/home/ec2 user/.local/bin:/home/ec2 user/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2 user/.local/bin:/home/ec2 user/bin:/home/ec2 user/.local/bin:/home/ec2 user/bin:/opt/aws/bin:/usr/local/rvm/bin:/home/ec2 user/.local/bin:/home/ec2 user/bin:/home/ec2 user/.local/bin:/home/ec2 user/bin
9详细的生命周期api_规则_template@0.0.0-beta~test:CWD:/home/ec2 user/environment/api\u rule\u模板
10.生命周期api_规则_template@0.0.0-beta~test:Args:['-c','jest']
11生命周期api_规则_template@0.0.0-测试:返回:代码:1信号:空
12信息生命周期api_规则_template@0.0.0-beta~test:无法执行测试脚本
13详细堆栈错误:api_规则_template@0.0.0-贝塔测试:`开玩笑`
13详细堆栈退出状态1
13 EventEmitter上的详细堆栈。(/home/ec2 user/.nvm/versions/node/v10.4.0/lib/node_modules/npm/node_modules/npm lifecycle/index.js:304:16)
13 EventEmitter.emit上的详细堆栈(events.js:182:13)
13子进程上的详细堆栈。(/home/ec2 user/.nvm/versions/node/v10.4.0/lib/node_modules/npm/node_modules/npm lifecycle/lib/spawn.js:55:14)
13 ChildProcess.emit上的详细堆栈(events.js:182:13)
13 maybeClose的详细堆栈(internal/child_process.js:961:16)
13 Process.ChildProcess.\u handle.onexit处的详细堆栈(internal/child\u Process.js:248:5)
14详细的pkgid api_规则_template@0.0.0-贝塔
15详细的cwd/home/ec2用户/环境/api\u规则\u模板
16详细Linux 4.14.33-51.37.amzn1.x86_64
17详细argv“/home/ec2 user/.nvm/versions/node/v10.4.0/bin/node”“/home/ec2 user/.nvm/versions/node/v10.4.0/bin/npm”“运行”“测试”
18详细节点v10.4.0
19详细的npm v6.1.0
20错误代码ELIFECYCLE
21错误1
22错误api_规则_template@0.0.0-贝塔测试:`开玩笑`
22错误退出状态1
23 api_规则中的错误失败_template@0.0.0-测试脚本。
23错误这可能不是npm的问题。上面可能还有其他日志输出。
24详细退出[1,true]

所以答案是肯定的。问题是,由于没有设置环境变量,有一个数据库连接试图为MySQL端口3306而不是使用SQLite

Jest不会告诉我这些,而是默默地退出,甚至从全局命令行运行Jest。即使打开verbose/debug也不能解决这个问题

我发现它的方法是安装
expect
全局包,并在
descripe
it
周围写一些包装垫片。然后,直接通过节点而不是通过Jest运行该命令显示了实际的错误


我猜这是一个Jest bug。

检查文件路径等
Jest
,记下
root
文件夹并检查打字错误。它运行Jest很好,只要它是一个无用的测试,如
expect(true).toBe(true)
。像这样更难的测试失败了。除了它不是一个有用的错误消息,它是模糊的和无用的。