我正在尝试在 VSO 托管构建 Controller 上为 Aurelia 进行构建。我创建了一个小的 powershell 脚本来运行以下命令
npm install
.node_modules/.bin/jspm cc
.node_modules/.bin/jspm install -y
.node_modules/.bin/gulp build
我确实有 AfterBuild 目标可以将 jspm_packages 和 dist 文件夹复制到我的 _publishedWebsites 文件夹。
npm install 运行良好,但是当涉及 jspm cc(如果我删除 jspm cc 并让它运行 jspm install -y)时,它会失败
jspm cc
Migrating global jspm folder from C:\Users\buildguest\.jspm to C:\Users\buildguest\AppData\Local\.jspm...
Copying configuration...
err Error migrating to new jspm folder
2>EXEC : error : ENOENT, no such file or directory 'C:\Users\buildguest\.jspm\config' [d:\a\src\WebGUI\OwinAureliaScaffold\OwinAureliaScaffold.csproj]
at Object.fs.openSync (evalmachine.<anonymous>:427:18)
at Object.fs.readFileSync (evalmachine.<anonymous>:284:15)
at Object.<anonymous> (d:\a\src\WebGUI\OwinAureliaScaffold\public\node_modules\jspm\lib\global-config.js:36:24)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (d:\a\src\WebGUI\OwinAureliaScaffold\public\node_modules\jspm\lib\registry.js:19:20)
ok Loader file cache cleared.
ok Package cache cleared.
我知道 jspm 不是全局安装的,因为它是一个托管 Controller ,我不能真正全局安装它。我的问题是,如何在没有全局 jspm 安装的情况下解决这个问题?是否有无需迁移配置文件的解决方法?
最佳答案
即使您无法在托管构建代理上安装和运行 jspm CLI,您也可以通过节点本身运行 jspm。
首先,确保安装了 jspm - 你的 powershell 脚本会这样做。或者,您可以使用 VSO Build 的“npm install task”,前提是 jspm 在您的 package.json
中。文件。
我使用 Gulp 通过 node 执行 jspm。我不确定这是否是执行此步骤的最佳方法,但它确实有效……我使用了 VSO 的“Gulp 任务”
以下是来自 gulpfile.js
的相关信息:
var gulp = require('gulp'),
exec = require('child_process').exec;
//#region Build Tasks
gulp.task('build:jspm', function (cb) {
exec("node ./node_modules/jspm/jspm.js install", function(err, stdout, stderr) {
console.log(stdout);
console.error(stderr);
cb(err);
});
});
gulp.task('_build', ['build:jspm']);
关于azure-devops - Aurelia 在 VSO 托管构建 Controller 上构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101421/