安装npm时,Google聚合物入门套件WARN

时间:2016-04-14 10:23:45

标签: node.js npm polymer polymer-1.0 polymer-starter-kit

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

<header>
  <h1>Curriculum Vitae</h1>
  <ul id="profile-menu">
    <li>Home</li>
    <li>About</li>
    <li>Contact</li>
  </ul>
</header>

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

我在全球范围内安装了npm,bower,gulp,但总是有那些WARN。

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

当我部署项目时,似乎都可以工作,但我是web开发人员的新手,不确定我是否必须关注这些WARN

2 个答案:

答案 0 :(得分: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以使用新包。

gulpfile.js

中找到starter-kit的styleTask
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软件包管理器中的许多软件包都有一些不推荐使用的软件包,或者在安装时会导致其他警告,但大部分时间都不用担心。

答案 1 :(得分:0)

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

当依赖关系的软件包所有者/维护者通常支持另一个具有重大改进的软件包/版本时,

npm显示已安装依赖项已deprecated的弃用警告。可以在部署应用程序后很久就弃用/不推荐使用软件包。

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

虽然通常可能会尝试升级依赖项以删除警告,但由于最近在pull request中发现的程序包不兼容性,建议不要将其用于PSK:

  

所以我只是把它拿走了,我遇到了一些问题:(虽然   目前的gulp插件已弃用,他们正在为此工作   社区!这个公关代表了一个&#34;高风险&#34;变化,我们发现了   以几种奇怪的方式打破。因为这个原因我要去   现在关闭这个公关。这就是让我们在几个月内重温这个公关   并看看事情是否已经稳定下来。