Yarn: Ersetzen Sie die Verwendung eines veralteten / unsicheren neuen Pufferkonstruktors

Erstellt am 7. März 2018  ·  84Kommentare  ·  Quelle: yarnpkg/yarn

Wie ist das aktuelle Verhalten?

yarn verwendet den veralteten Konstruktor new Buffer() und verursacht Verfallswarnungen, wenn er mit NODE_PENDING_DEPRECATION=1 .

$ ag '\bBuffer\('
src/registries/npm-registry.js
340:        const pw = new Buffer(String(password), 'base64').toString();
341:        return 'Basic ' + new Buffer(String(username) + ':' + pw).toString('base64');

src/util/fs.js
835:const cr = new Buffer('\r', 'utf8')[0];
836:const lf = new Buffer('\n', 'utf8')[0];

Was ist das erwartete Verhalten?

yarn sollte keinen veralteten / unsicheren Konstruktor Buffer verwenden. Gemäß der Abwertungswarnung sollte new Buffer() durch eines von Buffer.alloc() , Buffer.allocUnsafe() oder Buffer.from() . Das safe-buffer -Paket ist eine weitere Option.

Bitte geben Sie Ihre node.js, Garn und Betriebssystemversion an.

$ node -v
v8.9.4

$ yarn -v
1.5.1

$ uname -a
Linux 4.15.6-300.fc27.x86_64 #1 SMP Mon Feb 26 18:43:03 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
cat-bug cat-compatibility high-priority triaged

Hilfreichster Kommentar

Zu Ihrer Information: Ich habe gerade die Abhängigkeiten von Garn durchlaufen und es gibt zwei, die immer noch new Buffer() :

  • tar-stream (behoben, aber wir sind immer noch auf eine ältere Version angewiesen)
  • v8-compile-cache (nicht behoben)

Wir werden diese wahrscheinlich aktualisieren müssen.

Alle 84 Kommentare

Dieselbe Warnung unter macOS erhalten. Ich glaube, # 5704 ist ein Duplikat davon.

Als Problemumgehung habe ich ein ~/bin/node -Skript erstellt, das zuvor (von Homebrew installiert) /usr/local/bin/node in meinem $PATH :

#!/bin/bash

/usr/local/bin/node --no-deprecation "$@"

Zu Ihrer Information: Ich habe gerade die Abhängigkeiten von Garn durchlaufen und es gibt zwei, die immer noch new Buffer() :

  • tar-stream (behoben, aber wir sind immer noch auf eine ältere Version angewiesen)
  • v8-compile-cache (nicht behoben)

Wir werden diese wahrscheinlich aktualisieren müssen.

@martinstuecklschwaiger wann ist das

@marvinhagemeister v8-compile-cache hat gerade die Version 2.0.0 veröffentlicht, mit der der Fehler behoben wurde. Hoffe wir können bald auf neue Version aktualisieren.

@fengerzh @imsnif hat die neue Version bereits für das Mastering von https://github.com/yarnpkg/yarn/commit/546a1576edbf701021ce65e3dd8daff267083f52 committed festgeschrieben

Wann planen Sie die Veröffentlichung einer neuen Version mit diesem Fix? Ich konnte keine Informationen darüber finden, wie Sie mit Veröffentlichungen umgehen.

Ich sehe, dass das Label high-priority für dieses Problem verwendet wurde. Bedeutet das nicht auch, dass Sie das Update so schnell wie möglich veröffentlichen möchten? Nicht nur so schnell wie möglich zu beheben.

EDIT: Wollte nicht aufdringlich oder fordernd klingen, ich bin nur neugierig, wie Sie diese high-priority Probleme angehen. Der Grund, den ich gefragt habe, war, dass es ärgerlich ist, für jede neue Shell-Instanz, die ich starte, eine Warnung zu erhalten.

Diese Warnung wurde angezeigt, nachdem ich ein Upgrade von Knoten v0.9.x auf v0.10.1 durchgeführt habe

@ piotr-cz du meinst v10.1, 0.10 ist ziemlich alt.

Vielen Dank, ich meinte, dass die Warnung nach dem Upgrade von v9.x auf v10.1.0 angezeigt wurde

Immer noch diese Warnung mit Garn 1.6.0

yarn install v1.6.0
(node:22339) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security 
and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or 
Buffer.from() methods instead.

Meine node.js, Garn und Betriebssystemversion

node -v
v10.1.0

yarn -v
1.6.0

uname -a
Darwin *****.local 17.5.0 Darwin Kernel Version 17.5.0: Fri Apr 13 19:32:32 PDT 2018; 
root:xnu-4570.51.2~1/RELEASE_X86_64 x86_64

Irgendwelche Fortschritte hier? Wir möchten wirklich Knoten 10 in unserem Projekt ohne Problemumgehung verwenden 🔥

Es ist nur eine Warnung. Warum sollte es Sie daran hindern, es zu benutzen?

Das gleiche Problem hier und es führt dazu, dass mein Roots Sage-Design nicht kompiliert wird, wenn es nicht bereitgestellt wird. Siehe auch https://discourse.roots.io/t/buffer-deprecated-yarn-warning/12525

@teohhanhui Langlebige Warnungen sind problematisch, weil sie andere, nützlichere Warnungen verschleiern: Es wäre unvernünftig zu erwarten, dass Entwickler alle Warnungen bei jedem Build

Es gibt große, äußerst erfolgreiche Software- / usw.-Firmen, Markennamen, die wir alle kennen, die unternehmensweite Regeln haben wie: Warnungen als Fehler behandeln oder löschen, aber niemals menschliche Arbeit damit verbringen, Warnlisten routinemäßig zu durchsuchen. Aus dem oben genannten Grund.

Dies bedeutet nicht, dass dies überall ein perfekter Rat ist, aber es ist nicht ungewöhnlich und wird ziemlich gut als praktikabel und wertvoll demonstriert.

Wenn Sie alle Warnungen als Fehler behandeln, haben Sie dann keine Möglichkeit, Warnungen zu ignorieren / auf die Whitelist zu setzen? Trotzdem sehe ich nicht, wie es yarn , dass Sie sich dafür entscheiden. yarn ist in diesem Fall nicht kaputt.

Tut mir leid, aber ich muss dieses Problem sperren, da die Leute anscheinend keine früheren Kommentare lesen. Hier ist die Zusammenfassung:

  • Dieses Problem wurde noch nicht behoben (ab Garn 1.6.0).
  • Ja, wir als Garn-Team sind uns dessen bewusst und arbeiten hart daran, dies zu beheben und eine neue Version zu veröffentlichen. Sie können # 5769 folgen, um den Fortschritt zu sehen (bitte, bitte verwenden Sie diese PR nicht als weiteres Diskussionsforum dafür).
  • Wir haben ein Problem mit Symlinks unter Windows bei der Verwendung von Yarn auf Knoten 10 festgestellt, das dazu führen kann, dass Installationen mit einer unendlichen Rekursion zum Stillstand kommen. Dieses Problem wird auch in # 5769 behandelt

Ich entschuldige mich im Namen des gesamten Garn-Teams für das Problem und die Verzögerung.

Update: Die oben genannte PR wird nun zusammengeführt. Wir werden so schnell wie möglich eine neue Version veröffentlichen.

Version 1.7.0 mit dem Fix ist gerade online gegangen. Danke für Ihre Geduld!

@teohhanhui hat es in einem einzelnen Repository innerhalb eines Lerna-Stapels verwendet, sodass der Lerna-Prozess durch Garnwarnung beendet wird (ja, hier ist möglicherweise eher eine Lerna-Einstellung, aber Reinigungswarnungen beheben das Problem auch für uns).
@ BYK danke byk für dein efford

@BYK Ich Pufferwarnungen mit 1.7.0 von Homebrew:

$ NODE_OPTIONS=--trace-warnings yarn outdated
yarn outdated v1.7.0
(node:44538) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:159:11)
    at new Buffer (buffer.js:174:3)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:4105:6)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:4228:12)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:56449:11)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.<anonymous> (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:43234:13)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)

@ezzatron Gleich hier.

@ezzatron @AlexanderOMara
Ich denke, die Warnung erscheint erst, nachdem das Garn zum ersten Mal nach dem Brühupdate ausgeführt wurde. Beim zweiten Ausführen des Garns ist die Warnung für mich weg.

Hier ist der aktuelle Status meiner Maschine:

yarn -v
1.7.0

node -v
v10.1.0

uname -a
Darwin *****.local 17.5.0 Darwin Kernel Version 17.5.0: Fri Apr 13 19:32:32 PDT 2018; root:xnu-4570.51.2~1/RELEASE_X86_64 x86_64

Hier ist mein Terminalprotokoll

$ yarn
yarn install v1.7.0
(node:73733) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.47s.

$ yarn
yarn install v1.7.0
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.40s.

Hallo, ich habe immer noch ein DeprecationWarning wenn ich ein yarn check mache

$ yarn check
yarn check v1.7.0
[---------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0/1697(node:84081) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methodsinstead.

Führen Sie yarn upgrade . Es ist wahrscheinlich, dass Sie aufgrund eines Pakets von upath abhängig sind und noch eine Version installiert haben.

@rpellerin Danke, aber upath ist bereits auf dem neuesten Stand
Selbst nach einem yarn upgrade bekomme ich immer noch die gleiche Warnung, aber nicht im gleichen Moment wie die 1.6-Version
Auch nach einigen Tests ist es nicht auf yarn check

$ yarn
yarn install v1.7.0
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[-----------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0/943(node:7042) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
✨  Done in 24.87s.

Getestet mit Node v10.1.0 & v10.2.0, bin ich unter OSX und verwende Brew, um Garn zu installieren (mit --without-node param)

@ Justkant kannst du NODE_OPTIONS=--trace-warnings yarn ausführen? Hier erfahren Sie, welches Paket die Warnung auslöst.
Dann können Sie yarn why <package> ausführen. Ich werde entsprechend antworten.

Ja, es wurde nach dem Upgrade auf 1.7.0 behoben
Danke @BYK

@ rpellerin

yarn install v1.7.0
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[----------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 0/943(node:8741) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:159:11)
    at new Buffer (buffer.js:174:3)
    at Object.<anonymous> (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:68767:20)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:129185:17)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.module.exports.id (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:107036:12)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.Object.defineProperty.value (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:62287:14)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
✨  Done in 30.10s.

Aber warum sollte ich ein yarn why <package> ? Die Warnung ist nicht mit meinen lokalen Paketen verknüpft, sondern nur mit dem Garn selbst, nicht wahr?

Ich dachte, es wäre wegen eines Pakets. Versuchen Sie es mit Garn von npm?
npm i -g yarn

Die Verwendung von Garn ab npm scheint korrekt zu funktionieren

yarn zeigt keine Warnung für mich an, aber yarn outdated .

$ NODE_OPTIONS=--trace-warnings yarn outdated
yarn outdated v1.7.0
(node:28493) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:159:11)
    at new Buffer (buffer.js:174:3)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:4105:6)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:4228:12)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.module.exports.module.exports (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:56449:11)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
    at Object.<anonymous> (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:43234:13)
    at __webpack_require__ (/usr/local/Cellar/yarn/1.7.0/libexec/lib/cli.js:22:30)
✨  Done in 1.10s.

Heads up: Es scheint, dass der alte Pufferkonstruktor weiterhin für die globale CLI verwendet wird. Ich erhalte immer noch die Fehlermeldung, wenn ich mit yarn global Befehlen umgehe. @ BYK

Bestätigen Sie! Danke für die ausführlichen Berichte. Ich werde das heute untersuchen.

Okay, das beleidigende Paket ist sshpk, das von http-signature benötigt wird, was von request . Es gibt eine PR für eine Lösung, aber es scheint keine Liebe zu bekommen. Kennt jemand jemanden bei Joyent, der uns hilft?

Ausgabe ab Garn 1.7.0 mit Knoten> 10.0.0

Problem behoben durch Deinstallation des mit Garn gelieferten Knotens und Installation von Stable 8.11.2 von https://nodejs.org/en/

Problem behoben durch Deinstallation des Knotens, der mit Garn geliefert und [alte Version] installiert wurde ...

Es ist nicht wirklich "reparierend", wenn Sie einfach zu einer Version zurückkehren, bevor sie als unsicher veraltet war.

Das mit @mikestepanov verknüpfte Problem scheint Buffer.from :

https://github.com/joyent/node-sshpk/blob/175758a9473523409339e6c519c470c808ca03de/lib/algs.js

Dies scheint als 1.14.2 veröffentlicht worden zu sein, was dem erforderlichen Versionsbereich von http-signature .

IOW es sieht so aus, als würde das Problem einfach die Sperrdatei des Garns aktualisiert und eine neue Version

Das einzige, was geholfen hat, war das Löschen der Datei yarn.lock, wie @pluma sagte

FWIW dieser Fehler hat getstorybook für mich gebrochen, weil er versucht hat, stderr zu analysieren, auf das die Warnungen gedruckt werden. Ich bin mir nicht sicher, ob storybook-cli aktualisiert wurde, um dies zu umgehen, aber es ist erwähnenswert, dass dies mehr als ein kosmetisches Problem ist.

@BYK Die Situation mit diesem Fehler ist für Entwickler auf der ganzen Welt sehr traurig. https://github.com/ vorgeschlagen?

Dieses Commit (vom letzten Monat) sieht so aus, als ob es dieses Problem schließen soll, aber ich sehe dies immer noch mit Knoten 10.5.0 & Garn 1.9.0-20180621.1511 (jede Nacht). Wie in der Situation von node_modules und führen Sie dann yarn ). Für den Fall, dass es für andere hilfreich ist, habe ich einige Anmerkungen zu dem, was ich unten gefunden / getan habe, beigefügt. Es scheint, dass die Abhängigkeiten von yarn veraltet sind, da in den aktuellen nächtlichen eigenständigen JS-Builds new Buffer -Aufrufe zu sehen sind.

  1. Überprüfen Sie mit einem leeren / minimalen Projekt, ob die Warnung weiterhin besteht. (zB mkdir empty-project; cd empty-project; npm init empty-project; yarn ).
  2. Wenn die Warnung dort angezeigt wird, müssen Sie möglicherweise das Garn aktualisieren (versuchen Sie es mit dem neuesten RC: v1.8 obwohl v1.7.0 das Problem beheben sollte). In meinem Fall passierte es nicht im Minimalfall, also musste ich tiefer graben. Zuerst habe ich yarn upgrade aber das schien es nicht zu beheben.
  3. Versuchen Sie, mit aktiviertem --trace-warnings laufen, z. B. rm -rf node_modules/; NODE_OPTIONS=--trace-warnings yarn :
(node:4672) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    at showFlaggedDeprecation (buffer.js:159:11)
    at new Buffer (buffer.js:174:3)
    at Object.<anonymous> (/usr/share/yarn/lib/cli.js:68827:20)
    at __webpack_require__ (/usr/share/yarn/lib/cli.js:22:30)
    at Object.module.exports.module.exports (/usr/share/yarn/lib/cli.js:129944:17)
    at __webpack_require__ (/usr/share/yarn/lib/cli.js:22:30)
    at Object.module.exports.module.exports.id (/usr/share/yarn/lib/cli.js:107711:12)
    at __webpack_require__ (/usr/share/yarn/lib/cli.js:22:30)
    at Object.module.exports.Object.defineProperty.value (/usr/share/yarn/lib/cli.js:62536:14)
    at __webpack_require__ (/usr/share/yarn/lib/cli.js:22:30)

Zu diesem Zeitpunkt war ich etwas ratlos. Öffnen von /usr/share/yarn/lib/cli.js spähen in der Nähe der Linie 68827 Ich sah dies:

/* 285 */
/***/ (function(module, exports, __webpack_require__) {

var stream = __webpack_require__(69)
var eos = __webpack_require__(549)
var inherits = __webpack_require__(59)
var shift = __webpack_require__(741)

var SIGNAL_FLUSH = new Buffer([0])

var onuncork = function(self, fn) {
  if (self._corked) self.once('uncork', fn)
  else fn()
}

var destroyer = function(self, end) {
  return function(err) {
    if (err) self.destroy(err.message === 'premature close' ? null : err)
    else if (end && !self._ended) self.end()
  }
}

Durch die Suche in GitHub nach einigen der einzigartigeren Teile dieses Codes stellte ich fest, dass er von duplexify vor Version 3.5.4 stammt. Als nächstes ließ ich yarn why duplexify und stellte fest, dass eine meiner Abhängigkeiten es verwendete. Es wurde jedoch v3.6.0 verwendet, was kein Problem haben sollte. Ich habe versucht, dieses Paket / diese Version zu meinem leeren / minimalen Projekt hinzuzufügen und yarn . In der Tat hat es gut funktioniert: keine Warnungen. Außerdem erklärt dies nicht, warum in der Ablaufverfolgung ein Webpack-Skript angezeigt wurde, das mit yarn verknüpft ist.

Obwohl ich nicht sicher bin, wie ich es gemacht habe, habe ich einmal eine andere Zeile in der Ablaufverfolgung für die Warnung erhalten, die auf dieselbe webpack-Datei cli.js verweist, aber der darin enthaltene Code stammt von sshpk (vor # 175758a).

Als ich merkte, dass new Buffer im Code in Garns eigenständigem JS Nightly Build erscheint , gab ich schließlich vorerst auf und hoffte, dass die Nachricht von selbst verschwindet, nachdem das Garn in Zukunft aktualisiert wurde.

@jacobq Danke, dass duplexify in seinem CLI-Code? Ist das richtig?

Ich sehe das auch immer noch.

Ich bin gerade zu https://nodejs.org/ gegangen und habe festgestellt, dass die neueste Version bereits 10.5 👀 ist
In der Zwischenzeit sind meine Kollegen und ich immer noch auf 8.x, da diese Ausgabe noch offen ist. Wir möchten unbedingt herausfinden, was es Neues in 10.x gibt! 🚀 🙏

@kachkaev Lass dich von dieser Warnung nicht aufhalten! :Lächeln:

@mcmire Es sieht aus , dass die Art und Weise zu mir. Ich vermute, sie müssen nur yarn upgrade ... ausführen, um die Sperrdatei aufzufrischen.

@kachkaev 8.x ist bis zu diesem Herbst immer noch die @teohhanhui erwähnte, ist dies nur eine Warnung, damit es nicht "kaputt" geht, außer in Fällen, in denen die Ausgabe eng mit einer Anwendung / Logik verbunden ist.

@jacobq Es gibt bereits einige Pakete, für deren Arbeit der Knoten> = 9 erforderlich ist.

Aufgrund dieser Warnung habe ich auch Knoten 8 verwendet, aber jetzt muss ich ihn jedes Mal sehen, wenn ich Garn verwende, was wirklich enttäuschend ist. Ich denke darüber nach, stattdessen npm zu verwenden, aber ich liebe Garn sehr und möchte nicht zurückschalten. Der Versuch, diese Warnung jeden Tag zu ignorieren, ist traurig. 😢

Hat jemand schon eine Lösung für dieses Problem gefunden? Es ist so ärgerlich, jedes Mal zu schauen, wenn ich einen Garnbefehl ausführe

+1

Garn installieren v1.7.0
info Keine Sperrdatei gefunden.
[1/4] Pakete auflösen ...
⠁ (Knoten: 12916) [DEP0005] DeprecationWarning: Buffer () ist aufgrund von Sicherheits- und Usability-Problemen veraltet. Verwenden Sie stattdessen die Methoden Buffer.alloc (), Buffer.allocUnsafe () oder Buffer.from ().
bei showFlaggedDeprecation (buffer.js: 159: 11)
bei neuem Puffer (buffer.js: 174: 3)
unter Object.module.exports.module.exports (C: \ Programme (x86) \ Yarn \ lib \ cli.js: 4105: 6)
at __webpack_require__ (C: \ Programme (x86) \ Yarn \ lib \ cli.js: 22: 30)
unter Object.module.exports.module.exports (C: \ Programme (x86) \ Yarn \ lib \ cli.js: 4228: 12)
at __webpack_require__ (C: \ Programme (x86) \ Yarn \ lib \ cli.js: 22: 30)
unter Object.module.exports.module.exports (C: \ Programme (x86) \ Yarn \ lib \ cli.js: 56449: 11)
at __webpack_require__ (C: \ Programme (x86) \ Yarn \ lib \ cli.js: 22: 30)
bei Objekt.(C: \ Programme (x86) \ Yarn \ lib \ cli.js: 43234: 13)

Ich hatte auch unter meinem OSX darunter zu leiden, aber ein:

yarn global add yarn

Schien es zu lösen ... Ich frage mich, ob die Version auf Homebrew irgendwie kaputt ist ... 🤔

@carddamom Hat das das Problem wirklich gelöst oder ist das Problem einfach verschwunden, weil Sie es bereits einmal ausgeführt haben? (Ich sehe immer noch, dass new Buffer 134 Mal in der 7/6-Nacht erscheint .) Ich bin neugierig: Wenn Sie node_modules löschen und yarn erneut ausführen, sehen Sie die Warnung erneut?

Dies hat dieses Problem auch für mich behoben:

image

Ich habe das mit Homebrew installierte Garn entfernt und es mit npm global neu installiert. Ich habe dieses Problem nicht mehr gesehen und einige andere Gyp-bezogene Fehler waren ebenfalls verschwunden.

Ich frage mich, ob die Version auf Homebrew irgendwie kaputt ist ... 🤔

Ich würde jetzt definitiv mit dem Finger auf Homebrew zeigen.

@jacobq Für mich gab es keine node_modules zum Deinstallieren, da ich "yarn global" als Anekdote verwendet habe. Ich habe auch versucht, das Paket mit Homebrew neu zu verknüpfen, und der Fehler trat erneut auf, sodass dies weiter bestätigt wird ...

Der Grund, warum Sie nur die Warnung aus der tar.gz-Version und Homebrew ( die nur die tar.gz-Version installiert ) sehen, ist, dass Node ausgibt, wenn sich das Modul mit dem Namen new Buffer in einem node_modules Verzeichnis.

Wenn Sie also über Homebrew installieren, befindet sich die ausführbare Datei des Garns unter:

/usr/local/bin/yarn

Aber wenn Sie über npm installieren, befindet es sich in einem Pfad wie (ich verwende hier nvm):

~/.nvm/versions/node/v10.6.0/lib/node_modules/yarn/bin/yarn

Der Code ist genau der gleiche. Der einzige Unterschied besteht darin, dass npm die Warnung derzeit nicht ausgibt, da sie in einem Verzeichnis mit node_modules installiert wurde.

Weitere Informationen finden Sie unter nativen Puffermodul aufgerufen werden.

So wie es aussieht, enthält lib/cli.js immer noch eine Reihe von Anrufen bei new Buffer . Es ist alles ein großes Webpack-Bundle, daher weiß ich nicht, aus welchen Bibliotheken sie stammen, aber ein obiger Kommentar scheint das Paket identifiziert zu haben.

Ja, nur um zu bestätigen, dass es mit der Debian / Ubuntu-Repository-Version immer noch passiert (vermutlich aus den oben genannten Gründen), ist es sicherlich nichts Spezielles für Homebrew.

Wenn es eine Weile dauern wird, bis die Verwendung von new Buffer in den verschiedenen Abhängigkeiten aktualisiert ist, lohnt es sich vielleicht, einen Weg zu finden, um diese bestimmte Warnung vorerst zum Schweigen zu bringen. Meiner Meinung nach funktioniert das Hinzufügen der Flagge --no-deprecation an der entsprechenden Stelle in /usr/bin/yarn , fühlt sich aber etwas hackig und hartnäckig an.

Bearbeiten: Sie können auch Garn wie NODE_OPTIONS=--no-deprecation yarn laufen lassen, was funktioniert. Ich denke, ich werde das als Alias ​​setzen.

@jacobq ... für den Vorschlag eurer Jungs habe ich meine Kommentare entfernt, nur seinen hinterlassen, dann scheint es kurz! Ich werde nicht mehr hinzufügen.
...Getan...

Als vorübergehende Lösung verwende ich einen Alias, wie von @noinkling vorgeschlagen.

Für diejenigen, die fish :

function yarn
  env NODE_OPTIONS=--no-deprecation yarn $argv
end

Dies geschieht immer noch auf 1.9.2 rc, das 2f4bba1 (?) Enthält, z

yarn install v1.9.2
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
[----------------------------------------------------------------------] 0/1820
(node:1936) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[4/5] 🔗  Linking dependencies...

Verwenden von Knoten 10.6, macOS 10.13.6.

@vieira Ja, leider gibt es noch einige andere Deps, die aktualisiert werden müssen, um dies vollständig zu beheben. Siehe meinen Kommentar hier für eine Liste von ihnen. (Einige warten auf PRs, damit Sie möglicherweise helfen können, indem Sie zu diesen Bemühungen beitragen oder zumindest eine Reaktion von +1 geben.)

das gleiche Problem haben
Knoten v10.7.0, Garn 1.9.2

node:67668) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
error [email protected]: The engine "node" is incompatible with this module. Expected version ">=4 <=9".

@bogdansoare scheint ein inkompatibles Modul in Ihrem Projekt zu verwenden. Versuchen Sie yarn why upath und entfernen / aktualisieren Sie dann den Teil, der ihn einbringt, um den Fehler zu beseitigen.

PS + 1 / Ich auch Kommentare sind in der Regel verpönt. Bitte benutzen Sie stattdessen die Reaktionstasten.

@jacobq Dieses GitHub-Problem wurde geschlossen, aber ich sehe das Problem immer noch in der neuesten Version 1.9.2. Ich verstehe, dass das Problem durch nachgelagerte Abhängigkeiten verursacht wird, aber es ist nicht klar, ob das Yarn-Team glaubt, dass dies behoben ist. Soll dies behoben werden oder ist dies geschlossen, weil die Lösung darin besteht, die Warnung zu deaktivieren? Das Unterdrücken der Warnung ist für mich und mein Team keine Lösung, da das Deaktivieren von Sicherheitswarnungen im Kontext meines Teams nicht akzeptabel ist.

@corshamax Dieses spezielle Problem wurde behoben, da wir unseren Code aktualisiert haben, um die problematische Struktur nicht mehr zu verwenden. Die Warnung wird weiterhin angezeigt, da einige unserer Abhängigkeiten sie immer noch verwenden. Dies ist jedoch ein anderes Problem (leider mit demselben Ergebnis), das den entsprechenden Projekten (und uns dann gemeldet werden sollte, sobald eine feste Version erstellt wurde, damit wir dies tun können) Aktualisieren Sie die betroffene Abhängigkeit.

Und was alles betrifft, freuen wir uns über Pull-Anfragen. Wenn Sie also herausfinden, dass etwas repariert werden kann, öffnen Sie einfach eine und wir werden sicherstellen, dass sie für die nächste Version zusammengeführt werden. @jacobq hat eine großartige Arbeit geleistet, indem es Abhängigkeiten https://github.com/yarnpkg/yarn/pull/5934#issuecomment -406346724

Ich sehe dieses Problem mit Knoten 10.8.0 und Garn 1.9.4.

Es sieht so aus, als ob alle unter https://github.com/yarnpkg/yarn/pull/5934#issuecomment -406346724 genannten PRs zusammengeführt wurden. Ich hoffe, das bedeutet, dass wir sehr bald eine Lösung dafür finden können.

@vrobinson Ja, sie sollten durch https://github.com/yarnpkg/yarn/pull/6208 behoben werden. Sie können dies sehen, indem Sie das eigenständige JS nach new Buffer durchsuchen und feststellen, dass es nur in Fallbacks angezeigt wird und Kommentare. Haben Sie Geduld: smile_cat:

Update: Sieht so aus, als wäre es gerade gelandet: tada: also achte auf die nächste Nacht. An alle, die dazu beigetragen haben: bowing_man: danke: bete:!

Ich habe diesen Fehler bekommen, wurde das behoben?

@ rof20004 : point_up: (direkt über deinem Kommentar) . PR wurde zusammengeführt, daher ist es jetzt im Zweig master des Quellcodes "behoben". Diese Warnung wird jedoch weiterhin mit Knoten 10 angezeigt, bis (1) eine neue Version veröffentlicht wird und (2) Sie auf diese Version aktualisieren.

@jacobq Ich verwende das Debian-Paket, ich muss warten, bis das neue Paket dann '-'.

Vielen Dank :)

@ rof20004 Sie sollten in der Lage sein, es morgen zu verwenden, wenn Sie möchten, stellen Sie einfach sicher, dass apt auf das nächtliche zeigt:
https://yarnpkg.com/de/docs/install#debian -nightly

@jacobq also werden wir sehen, dass dieses endgültige Problem mit [email protected] endgültig gelöst ist, richtig?

Wahrscheinlich wird es keine Patch-Version sein, eher wie 1.10

Ich habe das gleiche Problem.
$ yarn install
node:39) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. error An unexpected error occurred: "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz: getaddrinfo EADDRNOTAVAIL registry.yarnpkg.com registry.yarnpkg.com:443". info If you think this is a bug, please open a bug report with the information provided in "/app/yarn-error.log". info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
/app $ node -v v10.10.0 /app $ yarn -v 1.9.4 /app $

hat jemand die lösung?

@ codestart123 Lesen Sie den Thread, sie sagten, es ist in der Nacht behoben, aber noch nicht veröffentlicht.

@ codestart123 Der von Ihnen erwähnte Fehler wird nicht durch dieses Problem verursacht (Sie können die

error An unexpected error occurred: "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz: getaddrinfo EADDRNOTAVAIL registry.yarnpkg.com registry.yarnpkg.com:443"

EADDRNOTAVAIL ist ein netzwerkbezogener Fehler (Fehler: Adresse nicht verfügbar). Versuchen Sie, ping registry.yarnpkg.com auszuführen, um zu bestätigen, dass Ihr System den Namen auflösen und den Host erreichen kann.

Wurde es schon behoben?

@ ryanzhu1024 es wurde in 1.10.0 behoben, vor ein paar Tagen veröffentlicht 👍

Wartende Knoten-Upgrade-Garnversion.

Ich kann nicht glauben, dass diese nervige Warnung endlich weg ist. Vielen Dank :)

Hooraaaay 🙌 🎉 🍾

@goktugyil In der von Ihnen verlinkten Frage wird yarn . Wenn Sie Garn verwenden, stellen Sie bitte sicher, dass Sie über die neueste Version (derzeit 1.12.3 ) yarn , posten Sie bitte nicht hier. StackOverflow ist ein guter Ort, um allgemeine Programmierfragen zu stellen, und https://github.com/nodejs/help ist ein guter Ort, um Knotenfragen zu beantworten. https://github.com/yarnpkg/yarn/issues ist für Funktionsanfragen und Probleme im Zusammenhang mit Garn gedacht (nicht für allgemeine Entwicklungsunterstützung / Fragen).

@arcanis / @BYK / @imsnif Würde es Ihnen etwas ausmachen, diesen Thread zu sperren? Dieses Problem ist seit einiger Zeit im Garn und seinen Abhängigkeiten behoben, und ich denke, dass eine weitere Diskussion hier niemandem nützen wird.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen