Suj*_*kil 5 aurelia jspm azure-devops
我正在尝试在VSO Hosted Build Controller上为Aurelia进行构建.我创建了一个小的PowerShell脚本来运行以下命令
npm install
.node_modules/.bin/jspm cc
.node_modules/.bin/jspm install -y
.node_modules/.bin/gulp build
Run Code Online (Sandbox Code Playgroud)
我确实有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.
Run Code Online (Sandbox Code Playgroud)
我知道jspm没有全局安装,因为它是一个托管控制器,我无法真正全局安装它.我的问题是,如何在没有全局jspm安装的情况下解决这个问题?是否有解决方法,它不必迁移配置文件?
即使您无法在托管构建代理上安装和运行jspm CLI,也可以通过节点本身运行jspm.
首先,确保安装了jspm - 您的powershell脚本所做的事情.或者,您可以使用VSO Build的"npm安装任务",前提是jspm在您的package.json文件中.

我用Gulp通过节点执行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']);
Run Code Online (Sandbox Code Playgroud)
如果需要计算机上的管理权限来安装软件包,则您无法在托管构建中执行此操作。在这种情况下,您将必须创建自己的构建机器。这是我们希望在未来解决的问题。
也就是说,这是一个人为设置 Aurelia 所做的事情:http://fabhojs.blogspot.com/2015/03/aurelia-app-骨骼-yeoman-generator.html(来自此问题)。这些步骤有所不同,但可能会有所帮助。
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |