【问题标题】:Google polymer starter kit WARN when npm installnpm install 时 Google 聚合物入门套件 WARN
【发布时间】:2016-08-05 20:11:17
【问题描述】:

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

$ 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,但总是有这些 WARN。

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

当我部署项目时,一切似乎都可以正常工作,但我是 web 开发新手,不确定是否必须对这些 WARN 视而不见

【问题讨论】:

  • 你能再解释一下吗?
  • 好吧,我用一些额外的信息编辑了帖子,但不确定什么样的信息对这个问题有帮助:(
  • 欢迎来到 Stack Overflow!请勿破坏或编辑帖子中的重要信息。为了后代,这个问题应该留给其他用户从中受益。您不得在 StackOverflow 上显着恶化或破坏您自己的帖子,因为您在发布时已根据 CC BY SA 许可将帖子及其内容不可撤销地授权给 StackExchange。
  • @Un1 请不要污损或破坏您的帖子。
  • @Ferrybig,抱歉,刚刚了解 stackoverflow 的修订逻辑是如何工作的,并决定删除可能不相关的其他问题

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


【解决方案1】:

这些警告无需担心。这些来自在 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 中找到入门工具包的 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 包管理器中的许多包都有一些已弃用的包或在安装时引起其他警告,但大多数时候无需担心。

【讨论】:

    【解决方案2】:

    在这种情况下无需担心这些警告。他们不应该引起你提到的问题。我验证了您提到的 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 插件已被弃用,它们正在为 社区!这个 PR 代表了我们发现的“高风险”变化 以几种奇怪的方式打破。出于这个原因,我要 暂时关闭此 PR。也就是说,让我们在几个月后重新审视这个 PR 看看情况是否更稳定了。

    【讨论】:

    • 也谢谢你,托尼,现在我明白了。你们太棒了,感谢你们花时间在这里测试和编写解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多