【发布时间】:2016-12-18 12:04:00
【问题描述】:
我正在开发一个前端包,这是我的环境:
- IDE:Visual Studio(我在 Windows 上,我们使用 TypeScript)
- 包管理器:NPM
- 任务运行器:Gulp
- CI:团队城市
我的问题是我试图避免在我的构建服务器上全局安装 node 和 Gulp(主要是因为我不想费心管理这个 - 安装、更新、同步等)。
所以我找到了一个 NuGet 包 (https://www.nuget.org/packages/Npm.js/),它允许我在没有在机器上安装节点的情况下恢复所有包。但问题是我安装的本地 Gulp 假定它旁边或机器路径中有一个 node.exe:
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\gulp\bin\gulp.js" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\..\gulp\bin\gulp.js" %*
)
现在显然这行不通,因为我没有在构建机器上安装节点,也没有在 node_modules 中安装本地节点。
那么有什么方法可以避免在每个构建服务器上全局安装我的构建工具?或者 Node 和 Gulp 是否打算安装在任何地方?那么应该如何维护更新?这不像是每隔几个月发布一次的 Visual Studio 版本……或者您是否只是忽略了构建工具的频繁发布?
我也可以将 NuGet 包添加到路径中,但是(node.exe 所在的路径)取决于 NuGet 包的版本,并且在更新它时需要更多的维护。所以我也不想走这条路……
【问题讨论】:
标签: node.js gulp continuous-integration