1

我希望使用 Visual Studio Team Services 设置自动构建,但我一直遇到麻烦。我的构建定义:

npm install gulp
npm install --save-dev jshint gulp-jshint ruby
npm install gulp-ruby-sass gulp-autoprefixer gulp-cssnano gulp-concat gulp-uglify gulp-imagemin gulp-notify gulp-rename gulp-livereload gulp-cache del --save-dev
gem install sass
gulp

尝试使用“'gem' 未被识别为内部或外部命令”安装 sass gem 时构建失败。如果我在没有先安装 sass gem 的情况下构建,gulp 将失败,并显示“'sass' 未被识别为内部或外部命令”。任何人都有让 sass 在 Visual Studio Team Services 中工作的经验吗?

4

1 回答 1

1

这里似乎有几个问题。首先,您可能需要让您熟悉 npm 的工作原理、--save-dev本地安装模块和全局安装模块之间的含义和区别。

--save-dev用于保存用于开发目的的包,而--save用于保存应用程序运行所需的包。两者都是您在开发机器上运行的命令,并且您将结果package.json置于版本控制之下。在构建服务器上,您只需运行一个npm install将恢复package.json.

这些用于本地模块。您还可以使用该-g标志全局安装模块。这会将它们存储在您当前项目之外,并且二进制文件将在您的PATH变量中可用。您在项目中需要的模块(使用require)需要在本地安装。您将从 shell(例如gulp-cli)调用的模块需要全局安装。

因此,您需要做的是:

  • npm install在您的开发机器上,使用--saveor--save-dev标志添加所有本地 npm 模块。
  • 将生成的package.json文件置于版本控制之下。
  • 在构建服务器上,您需要确保安装了所有必需的全局 npm 模块。
  • 使用 VSTS npm 任务调用npm install以恢复本地 npm 模块。您无需指定需要安装哪些模块,因为它们已经在package.json文件中列出。
  • gulp使用带有适当参数的 VSTS gulp 任务调用。
于 2016-10-06T18:02:18.707 回答