如何防止在我的tfs版本中运行`npm test`时出现ENOENT错误?
问题描述:
我想在我的TFS运行NPM测试版本,但我得到每次我得到一个错误ENOENT:如何防止在我的tfs版本中运行`npm test`时出现ENOENT错误?
C:\Program Files\nodejs\npm.cmd run test
npm ERR! path E:\Agents\agent_work\38\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 'E:\Agents\agent_work\38\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
我跟着this tutorial of Microsoft建立我的体型,我也包括在内npm cache clean
,因为我读了如果您在安装过程中遇到了可能会修复它的问题。
当我运行npm test
本地正常工作
下面是我的配置文件。
这是karma.config.js:
module.exports = function (config) {
var testWebpackConfig = require('./webpack.test.js');
config.set({
basePath: '.',
frameworks: ['jasmine'],
plugins: [
require('karma-jasmine'),
require('karma-phantomjs-launcher'),
require('karma-webpack'),
require('karma-sourcemap-loader'),
require('karma-jasmine-html-reporter'),
require('karma-junit-reporter')
],
// list of files/patterns to load in the browser
files: [
{ pattern: 'spec.bundle.js', watched: false }
],
preprocessors: {
'spec.bundle.js': ['webpack', 'sourcemap']
},
// webpack
webpack: testWebpackConfig,
reporters: ['progress', 'kjhtml', 'junit'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['PhantomJS'],
singleRun: false,
concurrency: Infinity,
junitReport: {
outputDir: '',
outputFile: 'test.xml'
}
})
}
这是spec.bundle.js:
import 'core-js';
import 'zone.js/dist/zone';
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy.js';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/jasmine-patch';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
import 'rxjs';
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
var testContext = require.context('./src', true, /\.spec\.ts/);
function requireAll(requireContext) {
return requireContext.keys().map(requireContext);
}
var modules = requireAll(testContext);
答
该错误消息表示,NPM测试命令不能找到 “的package.json”文件。请确保您的package.json文件已上传到源代码管理并在构建过程中下载,并且您在构建定义中为npm任务配置了package.json文件(包含package.json的工作文件夹)的正确路径。
我没有针对包含karma配置的文件夹,因为我将其作为目标文件夹。 – Friso