1

我刚刚使用 yeoman 创建了一个新的 AngularJS 应用程序。我注意到在创建的 package.json 文件中,大多数 devDependencies 都是过时的候选版本。例如"grunt-contrib-copy": "0.4.0rc7",而不是"grunt-contrib-copy": "~0.4.1". 有没有办法让这些包成为最新版本?还是我必须手动说明要使用的版本?

谢谢

4

2 回答 2

5

您必须使用非常旧版本的 Angular 生成器。最新的具有所有最新的依赖项

您可以使用以下命令更新生成器:npm update -g generator-angular

如果你想提升已经生成的版本,只需运行npm install -D grunt-contrib-copy. 您还应该_package.json在生成器中编辑 ,以便下次生成时,deps 是最新的。

于 2013-09-12T22:24:54.723 回答
-3

要么你设置

"grunt-contrib-copy": "latest"

在您的生成器中的模板_package.json中,您将始终拥有最新版本的软件包。

要么让你的生成器触发 shell 命令

npm install --save-dev grunt-contrib-copy

在你的 Yeoman 生成任务结束时

var exec = require('child_process').exec;
var BlogGenerator = module.exports = function BlogGenerator(args, options, config) {
  yeoman.generators.Base.apply(this, arguments);

  this.on('end', function () {
    exec('npm install --save-dev grunt-contrib-copy', function (err, stdout, stderr) {
      this.installDependencies({ skipInstall: options['skip-install'] });
    }.bind(this));
  });

  this.pkg = JSON.parse(this.readFileAsString(path.join(__dirname, '../package.json')));
};

并且您将在项目生成时获得最新版本的软件包。

于 2013-09-12T21:15:57.777 回答