我刚刚使用 yeoman 创建了一个新的 AngularJS 应用程序。我注意到在创建的 package.json 文件中,大多数 devDependencies 都是过时的候选版本。例如"grunt-contrib-copy": "0.4.0rc7"
,而不是"grunt-contrib-copy": "~0.4.1"
. 有没有办法让这些包成为最新版本?还是我必须手动说明要使用的版本?
谢谢
您必须使用非常旧版本的 Angular 生成器。最新的具有所有最新的依赖项。
您可以使用以下命令更新生成器:npm update -g generator-angular
。
如果你想提升已经生成的版本,只需运行npm install -D grunt-contrib-copy
. 您还应该_package.json
在生成器中编辑 ,以便下次生成时,deps 是最新的。
要么你设置
"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')));
};
并且您将在项目生成时获得最新版本的软件包。