1

当我在此处从 github 下载聚合物入门套件的“中级 - 高级用户”版本时,在此处这些说明的第 4 步,我总是收到这些警告:

$ sudo npm install
npm WARN deprecated gulp-minify-css@1.2.4: Please use gulp-clean-css
npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN engine launchpad@0.5.1: wanted: {"node":"^0.12"} (current: {"node":"4.4.2","npm":"2.15.0"})
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN optional dep failed, continuing fsevents@1.0.11
npm WARN deprecated graceful-fs@1.2.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade

无论我使用什么操作系统:尝试了 Ubuntu 和 Windows (git bash)。

我在全球范围内安装了 npm、bower、gulp,但总是有这些警告。

我认为这可能是一个依赖问题,或者是因为某些聚合物入门套件文件中的一些代码,但我不是专业开发人员,所以我找不到导致问题的原因

虽然当我部署项目时这一切似乎都有效,但我是 web 开发的新手,不确定我是否必须对这些 WARN 闭上眼睛

4

2 回答 2

0

在这种情况下,无需担心这些警告。他们不应该引起你提到的问题。我验证了您提到的 PSK 指南(该页面在 OSX El Capitan 上的 Chrome 版本 49.0.2623.112 中完全显示并正常运行)。

npm当正在安装的依赖项已被依赖项的包所有者/维护者弃用时,显示弃用警告,通常支持另一个具有显着改进的包/版本。可以在部署应用程序很久之后随意弃用/不弃用包。

例如,在一月份,您发布了一个依赖于gulp-minify-css@1.2.4. 的所有者gulp-minify-css不再有时间维护包,因此他决定在 3 月份弃用它,转而支持积极维护的gulp-clean-css. 现在,npm install您的应用(也安装了gulp-minify-css)的用户会看到此弃用警告,但您的应用仍可正常运行。弃用不会使您的应用程序无效或导致错误。

虽然通常人们可能会尝试升级依赖项以删除警告,但由于最近在拉取请求中发现的包不兼容,不建议 PSK 这样做:

所以我只是试了一下,遇到了一些问题:(虽然当前的 gulp 插件已被弃用,但它们正在为社区工作!这个 PR 代表了一个“高风险”的变化,我们发现它正在打破几个奇怪的方式。出于这个原因,我现在要关闭这个 PR。也就是说,让我们在几个月后重新审视这个 PR,看看情况是否更加稳定。

于 2016-04-14T11:38:05.757 回答
0

这些警告无需担心。这些来自在 package.json 文件中设置为依赖项的 npm 包。当你运行npm install它时,它将安装 package.json 中设置的所有包。每个单独的包都有自己的 package.json 也有一些依赖。每个软件包都安装自己需要的软件包版本,有时他们使用这些软件包的旧版本。摆脱这些警告的唯一方法是让包创建者更新他们的包。

只有您可以自己更新的软件包是gulp-minify-css. 您可以卸载该软件包npm remove gulp-minify-css --save-dev并安装较新的非弃用版本gulp-clean-cssnpm install gulp-clean-css --save-dev. 如果这样做,您需要更新gulpfile.js项目以使用新包。

在以下位置找到 starter-kit 的 styleTask gulpfile.js

var styleTask = function(stylesPath, srcs) {
return gulp.src(srcs.map(function(src) {
  return path.join('app', stylesPath, src);
}))
.pipe($.changed(stylesPath, {extension: '.css'}))
.pipe($.autoprefixer(AUTOPREFIXER_BROWSERS))
.pipe(gulp.dest('.tmp/' + stylesPath))
.pipe($.minifyCss())
.pipe(gulp.dest(dist(stylesPath)))
.pipe($.size({title: stylesPath}));
};

并将.pipe($.minifyCss())行更改为.pipe($.cleanCss({compatibility: 'ie10'})) 现在您已设法更新 starter-kit 以使用较新的非弃用包。

npm 包管理器中的许多包都有一些已弃用的包或在安装时引起其他警告,但大多数时候无需担心。

于 2016-04-14T11:21:54.610 回答