2016-04-14 65 views
1

当我下载“中级 - 高级用户”从GitHub here,并在这些指令here第4步聚合物入门套件的版本,我总是让这些警告说:谷歌聚合物入门套件WARN当NPM安装

$ sudo npm install 
 
npm WARN deprecated [email protected]: Please use gulp-clean-css 
 
npm WARN deprecated [email protected]: graceful-fs version 3 and before will fail on newer node releases. Please update to [email protected]^4.0.0 as soon as possible. 
 
npm WARN engine [email protected]: wanted: {"node":"^0.12"} (current: {"node":"4.4.2","npm":"2.15.0"}) 
 
npm WARN deprecated [email protected]: [email protected]<3.0.0 is no longer maintained. Upgrade to [email protected]^4.0.0. 
 
npm WARN optional dep failed, continuing [email protected] 
 
npm WARN deprecated [email protected]: graceful-fs version 3 and before will fail on newer node releases. Please update to [email protected]^4.0.0 as soon as possible. 
 
npm WARN deprecated [email protected]: 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开发,并不确定是否必须关闭我的眼睛在这些警告

+0

你能解释一下吗? –

+0

嗯,我编辑了一些额外的信息,但不知道什么样的信息将有助于解决这个问题:( – Un1

+1

欢迎来到堆栈溢出!不要破坏或编辑您的文章中的重要信息。留下来让其他用户从中受益,对于后代你不允许在StackOverflow上显着地恶化或破坏你自己的帖子,因为你发布后根据CC BY SA许可证不可撤销地授权该帖子及其内容给StackExchange。 – Ferrybig

回答

0

没有担心这些警告。这些来自npm包,这些包在package.json文件中被设置为依赖关系。当您运行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以使用新的软件包。

找到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'})) 现在你已经成功地更新初学者工具包使用较新的非过时包。

npm包管理器中的许多软件包都有一些不推荐使用的软件包,或者在安装时会导致其他警告,但大多数情况下不需要担心。

+0

终于,很好的回答,谢谢! – Un1

0

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

npm显示依赖项的软件包所有者/维护者安装的依赖关系为deprecated时的弃用警告,通常用于显着改进的另一个软件包/版本。软件包可以在应用程序部署后随意弃用/不推荐。

例如,在1月份,您将发布一个取决于[email protected]的应用程序。 gulp-minify-css的拥有者不再有时间维护该软件包,因此他决定在3月份弃用该软件以支持主动维护的gulp-clean-css。现在,您的应用(也安装gulp-minify-css)的用户会看到此弃用警告,但您的应用仍能正常工作。弃用不会使您的应用无效或导致错误。

虽然通常人们可能会尝试升级依赖于删除的警告,不推荐用于由于封装不兼容PSK如最近在一个pull request发现:

所以我只是把这个兜风和我遇到了一些问题:(虽然 当前gulp插件已弃用,他们正在为 社区工作!此PR代表“高风险”的变化,我们发现 以几种奇怪的方式打破。我现在要去 关闭这个PR。这就是说让我们在几个月内重新访问这个PR ,看看事情是否稳定了。

+0

谢谢托尼,现在很清楚。你们真棒,感谢你们在这里测试和编写解决方案的时间 – Un1