【问题标题】:npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3npm WARN 不推荐使用 graceful-fs@3.0.8:graceful-fs 版本 3
【发布时间】:2016-05-31 05:38:43
【问题描述】:

我正在运行 npm install 但它给了我一个错误。我还尝试在更新前运行以下命令。 $npm install npm 我也更新了 graceful-fs。

$ npm install -g graceful-fs
graceful-fs@4.1.3 C:\Users\RDY672\AppData\Roaming\npm\node_modules\graceful-fs

错误如下:

$ npm install -g bower@1.3.12
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 deprecated graceful-fs@2.0.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 npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
npm ERR! cb() never called!
npm ERR! not ok code 0

【问题讨论】:

  • FWIW,gulp(一个非常流行的工具)依赖于 glob-watcher,它在内部依赖于 graceful-fs 1.2.3。它一直在抱怨这件事。感觉好像在某个时候会出现紧缩......
  • glob-watcher issue#22 建议这可能尚未修复,因为 glob-watcher 正在被弃用

标签: javascript node.js npm bower


【解决方案1】:

TL;DR: 如有必要,只需提交错误,暂时忽略弃用警告。除非它抛出错误,否则这不是你的问题。


最有可能的是,它间接依赖于一个过时的优雅 fs 版本,它依赖于 Node 的内部模块(即使它不应该)。该模块必然确实严重依赖 Node 的实现细节,但 4.x 在这方面被编写得不那么脆弱。 API 在 3.x 和 4.x 之间几乎没有什么变化。

就其价值而言,几周前该模块在 npm 上的下载量排名第十。我认为变化不大。而且由于该模块的使用份额很大(npm 本身间接依赖于过时的版本),Node has already instated a temporary fix where they're trying to get people off of the internal modules

所以不要担心,除非您收到源自它的错误。我通常会忽略那些弃用警告,因为它们已经众所周知。

【讨论】:

  • 如何升级 Graceful-fs? sudo npm install -g graceful-fs graceful-fs@4.1.3 /usr/local/lib/node_modules/graceful-fs $ npm install angular-mass-autocomplete npm WARN deprecated graceful-fs@3.0.8:graceful-fs 版本3 及之前的版本将在较新的节点版本上失败。请尽快更新到graceful-fs@^4.0.0。
  • @GregDougherty 您不需要直接升级它 - 您需要首先弄清楚哪些模块间接依赖它,然后联系这些模块的维护人员自行更新或执行类似操作。 (你会惊讶于有多少人依赖于古老版本的 glob,而它恰好依赖于过时的 graceful-fs。这是这个问题的主要驱动力,在大多数情况下没有别的。)
【解决方案2】:

npm install -g graceful-fs graceful-fs@latest 为我工作。

这将安装最新版本的优雅 fs!

【讨论】:

  • 在我的情况下,我已经安装了优雅 fs,所以我运行 npm update -g graceful-fs@latest 就成功了
【解决方案3】:

您无需担心它,并且依赖关系没有任何问题,因为它只会影响开发。 gulp 团队已经意识到了这个问题。

我们知道在安装 gulp 3.x 时会出现优雅的 fs 弃用警告。

这是由于: 1.我们的graceful-fs devDependency 2.vinyl-fs依赖

由于 API 重大更改,我们无法升级这两者。

依赖没有什么问题,尤其是因为它是 仅用于开发。我们将在 gulp 4 中更新或删除它 然后消息就会消失。

https://github.com/gulpjs/gulp/issues/1571

【讨论】:

    【解决方案4】:

    我同意所有 cmets 关于它根本不影响它的观点。但万一你想升级。

    首先,检查一下你已经拥有哪些graceful版本

    $ npm ls graceful-fs
    

    如果您没有最新版本,请安装它

    $ sudo npm install -g graceful-fs graceful-fs@latest-version
    

    【讨论】:

    • 最新版本不适用于我的 Unbuntu 14.04。未找到兼容版本:graceful-fs@latest-version 有效安装目标:4.1.4、4.1.3、4.1.2、4.1.1、4.1.0、3.0.8、...
    • 将“最新版本”一词更改为您可用的最新版本之一......对不起,我没有解释您不应该包含“最新版本”这个词。 .. 我希望它对你有用。
    • 对不起,维克,我在这上面打断了。在 Vagrant 上设置 Ubuntu / Zurb Foundation For Apps 并不确定这是否是一个促成因素。无论如何,在发表此评论时,这是有效的: npm install -g graceful-fs graceful-fs@4.1.4
    【解决方案5】:

    我使用的是 Windows 平台和 Homestead。控制台中的以下命令对我有用:

    npm install --no-bin-links
    gulp
    npm rebuild node-sass
    gulp
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 2012-07-07
      • 2017-02-17
      • 2020-05-31
      • 2016-01-25
      • 2012-06-02
      • 2016-09-17
      相关资源
      最近更新 更多