モジュール 'tslib'3.11.0が見つかりません
問題を認めることができます。 それは最新バージョンを思いついた、3.10.3はうまくいった。 たぶん@ matthew-deanは最後のマージをチェックできますか?
Dockerで再現する手順
test.less
をそこに配置します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
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を使用する必要があります。そのため、探しているものではない可能性があります🙂
例を挙げると、これは私がリンクしたテストが報告したものです。
誰かがこのビルドが問題を修正していることを確認できますか? 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 | 彼/彼/彼
最も参考になるコメント
3.11.0はとても大きなアップデートでした。
4.0.0である必要があります