Less.js: 3.11.0モジュール 'tslib'が見つかりません

作成日 2020年02月10日  ·  19コメント  ·  ソース: less/less.js

モジュール 'tslib'3.11.0が見つかりません

high priority

最も参考になるコメント

3.11.0はとても大きなアップデートでした。
4.0.0である必要があります

全てのコメント19件

問題を認めることができます。 それは最新バージョンを思いついた、3.10.3はうまくいった。 たぶん@ matthew-deanは最後のマージをチェックできますか?

Dockerで再現する手順

  1. 新しいフォルダを作成します
  2. 有効な少ないコードを含むtest.lessをそこに配置します
  3. 次のコンテンツでDockerfileを作成します。
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. フォルダ内のdocker build .に電話します

これにより、次のエラーが発生します。

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

また、 "less": "^ 3.0.4"を使用するgrunt-contrib-less( "grunt-contrib-less": "2.0.0")でも再現可能です。
gulpの問題も報告されました。

3.11.0はとても大きなアップデートでした。
4.0.0である必要があります

また、Yarn E2Eテストスイートでエラーが発生しました(さまざまなプロジェクトを監視するために使用します)。
https://github.com/yarnpkg/berry/runs/436357016

プロジェクトはtslibに依存関係を追加する必要があるのではないかと思います。ソースファイルが参照しておらず、ビルドアーティファクトのみが参照しているため、明示的にリストするのを忘れがちです。

よく撃って、すみません。 ビルドは単体テストに合格していたので、ここに欠落しているテストがあったと思います。

@siimots

3.11.0はとても大きなアップデートでした。 4.0.0である必要があります

実は、semverに関してはそうではありません。 後方互換性のない変更はなく、一部のビルド設定を変更するだけです。 すぐにチェックします。

@arcanis

プロジェクトはtslibに依存関係を追加するだけでよいのではないかと思います。ソースファイルが参照しておらず、ビルドアーティファクトのみが参照しているため、明示的にリストするのを忘れがちです。

おそらくこれが発生した理由は、tslibがdevDependenciesの暗黙の依存関係(依存関係の依存関係)である可能性があるためです。 したがって、テストは合格しますが、通常のnpm installはインストールされません。

+1、これも使徒職で見ています。 これはすぐに修正されるようです、ありがとう。

余談ですが、ライブラリのインストールを依存関係としてシミュレート/テストし、ノードモジュールをワイプ/再インストールせずにテストを実行する信頼できる方法を知っている人がいれば、ぜひ聞いてみてください。

@ matthew-dean Fwiwこの種の問題は、 Plug'n'Play inYarnを導入した理由の1つです。 パッケージが誤って成功させるのではなく、安全でないアクセス(ここでtslibなど)を行うと、例外がスローされます。 もちろん、npmはYarnをサポートしていないため、Yarnを使用する必要があります。そのため、探しているものではない可能性があります🙂

例を挙げると、これは私がリンクしたテストが報告したものです。

image

誰かがこのビルドが問題を修正していることを確認できますか? https://github.com/less/less.js/tree/release-3.11.1

node_modulesフォルダーはどこにでもネストできます。 だからあなたは1つを入れることができます
この目的にのみ使用され、より便利なテスト/フォルダー
爆破する。 これはアポストロフィで行います。

2020年2月10日月曜日午後4時37分マシューディーン[email protected]
書きました:

誰かがこのビルドが問題を修正していることを確認できますか?
https://github.com/less/less.js/tree/release-3.11.1


コメントしたのでこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27IM5UVBLOEMPE5BJR3RCHCJBA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2
または購読を解除する
https://github.com/notifications/unsubscribe-auth/AAAH27OZWO622K5JYHEYNCLRCHCJBANCNFSM4KSHHJ6Q

-

トーマス・ブーテル| 最高技術責任者
APOSTROPHECMS | apostrophecms.com | 彼/彼/彼

その中には、モジュールのメインフォルダを見つけるためのシンボリックリンクがあります。
正しい名前。

2020年2月10日月曜日の午後5時2分に[email protected]は次のように書いています。

node_modulesフォルダーはどこにでもネストできます。 だからあなたは1つを入れることができます
この目的にのみ使用され、より便利なテスト/フォルダー
爆破する。 これはアポストロフィで行います。

2020年2月10日月曜日午後4時37分マシューディーン[email protected]
書きました:

誰かがこのビルドが問題を修正していることを確認できますか?
https://github.com/less/less.js/tree/release-3.11.1


コメントしたのでこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27IM5UVBLOEMPE5BJR3RCHCJBA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2
または購読を解除する
https://github.com/notifications/unsubscribe-auth/AAAH27OZWO622K5JYHEYNCLRCHCJBANCNFSM4KSHHJ6Q

-

トーマス・ブーテル| 最高技術責任者
APOSTROPHECMS | apostrophecms.com | 彼/彼/彼

-

トーマス・ブーテル| 最高技術責任者
APOSTROPHECMS | apostrophecms.com | 彼/彼/彼

@ matthew-dean ... package.jsonファイルを変更して新しいリリースを試すにはどうすればよいですか? バージョンを指定しない場合にのみ、3.11.0をプルダウンできます。

@boutellそれは最も明確な説明ではありません。 リポジトリにある種のサブパッケージを設定するという意味ですか? Nodeの親node_modules解決アルゴリズムに遭遇しない方法でこれをどのように行うのか疑問に思います。

@jmwolfe

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

うーん。 いいえ、その通りです。状況に合わないのです。 唯一の
私が考えることができるのは、ローカルのnpmプロキシを設定することです。
その特定のモジュールはあなた自身の場所から満たされ、npmをテストします
それに対してインストールします。 このようなローカルnpmプロキシは実際には難しいことではありません
来ますが、それはちょっとたくさんです。

2020年2月10日月曜日午後5時10分マシューディーン[email protected]
書きました:

@boutellhttps ://github.com/boutellそれは最も明確ではありません
説明。 リポジトリにある種のサブパッケージを設定するという意味ですか?
ノードの親に遭遇しない方法でこれをどのように行うのか疑問に思います
node_modules解決アルゴリズム。

@jmwolfe https://github.com/jmwolfe

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


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27O3T4O2Z7VPTBA6HYLRCHGEPA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW
または購読を解除する
https://github.com/notifications/unsubscribe-auth/AAAH27JP6LEUZIENWBEWERLRCHGEPANCNFSM4KSHHJ6Q

-

トーマス・ブーテル| 最高技術責任者
APOSTROPHECMS | apostrophecms.com | 彼/彼/彼

@ matthew-dean-私のpackage.jsonでこれを使用すると、lessに依存するgulp-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)

結果のgulpfile.jsは完全に読み込まれます。

ps。 gulp-lessと他のいくつかのパッケージはdevDependenciesにあります。

よかった。ありがとう! これはnpmに公開されていますか?

2020年2月11日火曜日午前0時53分マシューディーン[email protected]
書きました:

クローズ#3469 https://github.com/less/less.js/issues/3469 via 842386b
https://github.com/less/less.js/commit/842386b8db5cb5afa4edf5a4c81d40bcbf47a6a2


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27NPPJXO4IOUM2I2J3LRCI4NLA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJM
または購読を解除する
https://github.com/notifications/unsubscribe-auth/AAAH27I5LOTWY22VMC57QFLRCI4NLANCNFSM4KSHHJ6Q

-

トーマス・ブーテル| 最高技術責任者
APOSTROPHECMS | apostrophecms.com | 彼/彼/彼

@boutellはい、そうです。 確認しました。

👍あなたがするすべてに感謝します!

2020年2月11日火曜日12:18 PM Jesse [email protected]
書きました:

@boutellhttps ://github.com/boutellはい。 確認しました。


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/less/less.js/issues/3469?email_source=notifications&email_token=AAAH27P3RR4ZWL6PXZHC7N3RCLMXRA5CNFSM4KSHHJ62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW
または購読を解除する
https://github.com/notifications/unsubscribe-auth/AAAH27MKPLJTLBZ5NLHZWALRCLMXRANCNFSM4KSHHJ6Q

-

トーマス・ブーテル| 最高技術責任者
APOSTROPHECMS | apostrophecms.com | 彼/彼/彼

このページは役に立ちましたか?
0 / 5 - 0 評価