Less.js: 3.11.0 Impossible de trouver le module 'tslib'

CrĂ©Ă© le 10 fĂ©vr. 2020  Â·  19Commentaires  Â·  Source: less/less.js

Impossible de trouver le module 'tslib' 3.11.0

high priority

Commentaire le plus utile

La 3.11.0 Ă©tait une si grosse mise Ă  jour.
Aurait dĂ» ĂȘtre 4.0.0

Tous les 19 commentaires

Je peux reconnaĂźtre le problĂšme. Il est venu avec la derniĂšre version, 3.10.3 a bien fonctionnĂ©. Peut-ĂȘtre que @matthew-dean pourrait vĂ©rifier la derniĂšre fusion ?

Étapes à reproduire avec docker

  1. créer un nouveau dossier
  2. placez-y des test.less contenant moins de code valide
  3. créez un Dockerfile avec le contenu suivant :
FROM buildpack-deps:buster

COPY test.less /

# install npm
ENV HOME /root
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
RUN apt-get install -y nodejs

# install less and compile something
RUN npm install -g less
WORKDIR /
RUN lessc test.less test.css
  1. Appelez docker build . dans le dossier

Cela provoquera l'erreur suivante :

Step 6/8 : RUN npm install -g less
 ---> Running in a76855c18efa
/usr/bin/lessc -> /usr/lib/node_modules/less/bin/lessc
+ [email protected]
added 60 packages from 123 contributors in 4.306s
Removing intermediate container a76855c18efa
 ---> b78508030649
Step 7/8 : WORKDIR /
 ---> Running in 6cca70d0d858
Removing intermediate container 6cca70d0d858
 ---> d812408c6ef8
Step 8/8 : RUN lessc test.less test.css
 ---> Running in 6c8ef5fc9408
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'tslib'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/lib/node_modules/less/bin/lessc:9:13)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
The command '/bin/sh -c lessc test.less test.css' returned a non-zero code: 1

Également reproductible avec grunt-contrib-less ("grunt-contrib-less": "2.0.0") qui utilise "less": "^3.0.4".
Un problÚme de déglutition a également été signalé.

La 3.11.0 Ă©tait une si grosse mise Ă  jour.
Aurait dĂ» ĂȘtre 4.0.0

A également déclenché des erreurs sur la suite de tests Yarn E2E (nous l'utilisons pour surveiller divers projets) :
https://github.com/yarnpkg/berry/runs/436357016

Je soupçonne que le projet a juste besoin d'ajouter une dépendance à tslib - les gens ont tendance à oublier de le lister explicitement car les fichiers source ne le référencent pas, seuls les artefacts de construction le font.

Eh bien tirez, désolé pour tous. La construction passait les tests unitaires, donc je suppose qu'il manquait un test ici.

@siimots

La 3.11.0 Ă©tait une si grosse mise Ă  jour. Aurait dĂ» ĂȘtre 4.0.0

Pas vraiment, en termes de semver. Il ne devrait pas y avoir de modifications incompatibles avec les versions antérieures, juste des modifications de certains paramÚtres de construction. Je vais vérifier sous peu.

@arcanis

Je soupçonne que le projet a juste besoin d'ajouter une dépendance à tslib - les gens ont tendance à oublier de le lister explicitement car les fichiers source ne le référencent pas, seuls les artefacts de construction le font.

Cela s'est probablement produit parce que tslib pourrait ĂȘtre une dĂ©pendance implicite (dĂ©pendance d'une dĂ©pendance) dans les devDependencies. Ainsi, les tests passeraient mais un npm install normal ne l'installerait pas.

+1, voyant Ă©galement cela avec des apostrophecms. Il semble que cela va ĂȘtre rĂ©solu rapidement, merci.

En passant, si quelqu'un connaĂźt une mĂ©thode fiable pour simuler/tester une installation de bibliothĂšque en tant que dĂ©pendance et exĂ©cuter des tests sans avoir besoin d'effacer/rĂ©installer les modules de nƓud, j'aimerais l'entendre.

@matthew-dean Fwiw ce genre de problĂšme est l'une des raisons pour lesquelles nous avons introduit Plug'n'Play dans Yarn. Il lĂšve des exceptions lorsque les packages effectuent des accĂšs non sĂ©curisĂ©s (comme tslib ici) au lieu de les laisser rĂ©ussir par erreur. Bien sĂ»r, il faut utiliser Yarn puisque npm ne le supporte pas, donc ce n'est peut-ĂȘtre pas ce que vous cherchez 🙂

Pour vous donner un exemple, voici ce que rapporte le test que j'ai lié :

image

Quelqu'un peut-il vérifier que cette version corrige les choses ? https://github.com/less/less.js/tree/release-3.11.1

Vous pouvez avoir des dossiers node_modules imbriquĂ©s n'importe oĂč. Vous pouvez donc en mettre un
votre test/ dossier qui ne sert qu'Ă  cela et qui est plus pratique
faire sauter. Nous le faisons avec l'apostrophe.

Le lun. 10 fĂ©vrier 2020 Ă  16 h 37 Matthew Dean [email protected]
a Ă©crit:

Quelqu'un peut-il vérifier que cette version corrige les choses ?
https://github.com/less/less.js/tree/release-3.11.1

—
Vous recevez ceci parce que vous avez commenté.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27IM5UVBLOEMPE5BJR3RCHCJBA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELKMI5A#issuecomment-58
ou désabonnez-vous
https://github.com/notifications/unsubscribe-auth/AAAH27OZWO622K5JYHEYNCLRCHCJBANCNFSM4KSHHJ6Q
.

--

THOMAS BOUTEL | DIRECTEUR DE LA TECHNOLOGIE
APOSTROPHECMES | apostrophecms.com | il/elle/son

À l'intĂ©rieur de celui-ci, vous pouvez avoir un lien symbolique pour trouver le dossier principal du module en
le bon nom.

Le lundi 10 fĂ©vrier 2020 Ă  17 h 02, Tom Boutell [email protected] a Ă©crit :

Vous pouvez avoir des dossiers node_modules imbriquĂ©s n'importe oĂč. Vous pouvez donc en mettre un
votre test/ dossier qui ne sert qu'Ă  cela et qui est plus pratique
faire sauter. Nous le faisons avec l'apostrophe.

Le lun. 10 fĂ©vrier 2020 Ă  16 h 37 Matthew Dean [email protected]
a Ă©crit:

Quelqu'un peut-il vérifier que cette version corrige les choses ?
https://github.com/less/less.js/tree/release-3.11.1

—
Vous recevez ceci parce que vous avez commenté.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27IM5UVBLOEMPE5BJR3RCHCJBA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELKMI5A#issuecomment-58
ou désabonnez-vous
https://github.com/notifications/unsubscribe-auth/AAAH27OZWO622K5JYHEYNCLRCHCJBANCNFSM4KSHHJ6Q
.

--

THOMAS BOUTEL | DIRECTEUR DE LA TECHNOLOGIE
APOSTROPHECMES | apostrophecms.com | il/elle/son

--

THOMAS BOUTEL | DIRECTEUR DE LA TECHNOLOGIE
APOSTROPHECMES | apostrophecms.com | il/elle/son

@matthew-dean ... comment puis-je modifier mon fichier package.json pour essayer votre nouvelle version ? Je ne peux toujours retirer la version 3.11.0 que si je ne spécifie pas de version.

@boutell Ce n'est pas la description la plus claire. Voulez-vous dire mettre en place une sorte de sous-paquet dans le dépÎt ? Je me demande comment vous faites cela d'une maniÚre qui ne rencontrera pas l'algorithme de résolution node_modules parent de Node.

@jmwolfe

https://docs.npmjs.com/files/package.json#git -urls-as-dependencies

Hmm. Non, vous avez raison, cela ne correspond pas tout Ă  fait Ă  votre situation. Le seul
une chose sûre à laquelle je peux penser serait de mettre en place un proxy npm local dans lequel
ce module particulier est satisfait depuis votre propre emplacement et teste npm
installer contre cela. Les proxys npm locaux comme celui-ci ne sont en fait pas difficiles Ă 
venir mais c'est un peu beaucoup.

Le lundi 10 fĂ©vrier 2020 Ă  17h10 Matthew Dean [email protected]
a Ă©crit:

@boutell https://github.com/boutell Ce n'est pas le plus clair
la description. Voulez-vous dire mettre en place une sorte de sous-paquet dans le dépÎt ?
Je me demande comment vous faites cela d'une maniĂšre qui ne rencontrera pas le parent de Node
Algorithme de résolution node_modules.

@jmwolfe https://github.com/jmwolfe

https://docs.npmjs.com/files/package.json#git -urls-as-dependencies

—
Vous recevez ceci parce que vous avez été mentionné.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27O3T4O2Z7VPTBA6HYLRCHGEPA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELKPPYQ#38comment-484
ou désabonnez-vous
https://github.com/notifications/unsubscribe-auth/AAAH27JP6LEUZIENWBEWERLRCHGEPANCNFSM4KSHHJ6Q
.

--

THOMAS BOUTEL | DIRECTEUR DE LA TECHNOLOGIE
APOSTROPHECMES | apostrophecms.com | il/elle/son

@matthew-dean - en utilisant ceci dans mon package.json fonctionne pour corriger le gulp-less qui dépend de less:

"dependencies": {
    "less": "git://github.com/less/less.js.git#afc9b86"
}

# npm list less
[email protected] C:\SVN\CMGR\branches\cmgr_pmm2\ContentManager\ContentManager            
+-- [email protected]                                                                           
| `-- [email protected]  deduped (git://github.com/less/less.js.git#afc9b8606272a01bf4392f71e4d9db59d06fddb9)                                                                                     
`-- [email protected]  (git://github.com/less/less.js.git#afc9b8606272a01bf4392f71e4d9db59d06fddb9)

mon gulpfile.js résultant se charge parfaitement.

ps. gulp-less et quelques autres packages se trouvent dans devDependencies.

Super merci! Est-ce publié sur npm ?

Le mar. 11 fĂ©vrier 2020 Ă  00h53 Matthew Dean [email protected]
a Ă©crit:

Fermé # 3469 https://github.com/less/less.js/issues/3469 via 842386b
https://github.com/less/less.js/commit/842386b8db5cb5afa4edf5a4c81d40bcbf47a6a2
.

—
Vous recevez ceci parce que vous avez été mentionné.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27NPPJXO4IOUM2I2J3LRCI4NLA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOWRJHA5I#event-3025301621 ,
ou désabonnez-vous
https://github.com/notifications/unsubscribe-auth/AAAH27I5LOTWY22VMC57QFLRCI4NLANCNFSM4KSHHJ6Q
.

--

THOMAS BOUTEL | DIRECTEUR DE LA TECHNOLOGIE
APOSTROPHECMES | apostrophecms.com | il/elle/son

@boutell oui c'est. Je viens de vérifier.

👍 merci pour tout ce que vous faites !

Le mar. 11 fĂ©vrier 2020 Ă  12 h 18 Jesse Wolfe [email protected]
a Ă©crit:

@boutell https://github.com/boutell oui c'est le cas. Je viens de vérifier.

—
Vous recevez ceci parce que vous avez été mentionné.
RĂ©pondez directement Ă  cet e-mail, consultez-le sur GitHub
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27P3RR4ZWL6PXZHC7N3RCLMXRA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELNIUHY#issuecomment-5
ou désabonnez-vous
https://github.com/notifications/unsubscribe-auth/AAAH27MKPLJTLBZ5NLHZWALRCLMXRANNCNFSM4KSHHJ6Q
.

--

THOMAS BOUTEL | DIRECTEUR DE LA TECHNOLOGIE
APOSTROPHECMES | apostrophecms.com | il/elle/son

Cette page vous a été utile?
0 / 5 - 0 notes