ノードのバージョンは本当に重要ですか?
@westtrade Milligramは、すべての依存関係を最新に保つことを強くお勧めする方法であるため、Node.jsのLTSバージョンにアップグレードされました。
MilligramがNode.jsv11を必要とする理由を詳しく説明してください。
この問題に自分で遭遇しただけです。 現在ノード14で、最先端であり、同じく最先端にあるsvelteを使用しています。 ユーザーとして、cssのみのフレームワークがノードのどのエンジンにあるべきかを教えてくれるのは少し奇妙です。 このエンジンフラグは、 milligram
自体の開発者にとってより便利だと思いますか?
ヤーンでのこの問題の簡単な回避策はyarn add --ignore-engines milligram
であり、リポジトリをyarn install --frozen-lockfile
だけでなくyarn install --frozen-lockfile --ignore-engines
に複製する人に伝えます。 ただし、インポートしているのはcssだけなので、これは理想的ではありません。
@davidroecaはい。 Node.jsバージョンは、ミリグラムの開発環境に必要なために定義されています。 さらに、すべての依存関係を最新の状態に保つことを強くお勧めします。 この場合、ミリグラムはNode.jsのLTSバージョン(v12)を使用します。
だから、私は何が起こっているのかをよりよく理解させてください、そして多分私たちはそれを改善するのを手伝うことができます。
@cjpatoiloパッケージを最新の状態に保つことが最善であることに同意します。 私は実際にはv12よりも最新です。 私の問題は@westtradeの問題とは少し異なります。これは、エンジンキャレット要件を>=
に切り替えて、将来のノードバージョンも考慮に入れることで解決できるためです。
"engines": {
- "node": "^12.17.0",
+ "node": ">=12.17.0",
"npm": "^6.14.5"
},
同様の議論がブートストラップリポジトリで行わdist/
フォルダーを作成するためにのみ必要であるため、彼らはenginesフィールドを完全に削除することを選択しました。 これはビルドステップで発生するため、これらのファイルをダウンロードするためにJS関連のものは実際には必要ありません。
このリポジトリの開発の観点から、サポートされているノードバージョン+固定されたノードバージョンを持つCI環境を指定するREADMEのメモで、この点で十分ですか?
@westtrade @davidroeca今のところ、package.jsonからengine
を削除します
@davidroeca @westtradeお願いします、ミリグラムをインストールするとどうなるか教えていただけますか?
2つの優れた例があることを知っています。理解しているように、最初の例ではLTSの前のバージョンを使用し、2番目の例ではLTSの後のバージョンを使用しており、両方の例が影響を受けます。
まず、YarnとNpmを使用したときに同じ動作が発生するかどうかを知りたいです。
また、ミリグラムv1.4.0およびv1.3.0(最新バージョン)を使用またはインストールした場合にも同じ動作が発生しますか?
npmを使用すると、次の警告が表示されます。
❯ node --version
v14.4.0
❯ npm --version
6.14.5
❯ npm install --save milligram
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"^12.17.0","npm":"^6.14.5"} (current: {"node":"14.4.0","npm":"6.14.5"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
+ [email protected]
added 2 packages from 1 contributor and audited 2 packages in 1.581s
found 0 vulnerabilities
糸の場合、それはエラーです:
❯ node --version
v14.4.0
❯ yarn --version
1.22.4
❯ yarn add milligram
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version "^12.17.0". Got "14.4.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
12.8.0
下がる
❯ node --version
v12.18.0
❯ npm --version
6.14.5
❯ npm install --save milligram
npm notice created a lockfile as package-lock.json. You should commit this file.
+ [email protected]
added 2 packages from 1 contributor and audited 2 packages in 0.876s
found 0 vulnerabilities
糸付き:
❯ yarn --version
1.22.4
❯ yarn add milligram
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ [email protected]
└─ [email protected]
Done in 0.34s.
milligram@~1.3.0
を使用すると、最新バージョンのnodejsを問題なく使用できます。
❯ node --version
v14.4.0
❯ yarn add milligram@~1.3.0
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ [email protected]
└─ [email protected]
Done in 1.47s.
@davidroeca @westtradeお願いします、ミリグラムをインストールするとどうなるか教えていただけますか?
2つの優れた例があることを知っています。理解しているように、最初の例ではLTSの前のバージョンを使用し、2番目の例ではLTSの後のバージョンを使用しており、両方の例が影響を受けます。
まず、YarnとNpmを使用したときに同じ動作が発生するかどうかを知りたいです。
また、ミリグラムv1.4.0およびv1.3.0(最新バージョン)を使用またはインストールした場合にも同じ動作が発生しますか?
私の場合、それは単にインストールされず、NPMは私がタイトルに書いたエラーをスローします。 あなたのフレームワークは素晴らしいです-しかし、スタイルフレームワークがサーバーインタープリターバージョンを必要とするのは奇妙です。 サーバーインタープリターなしではブラウザースタイルは機能しませんか?
@ davidroeca @ westtrade説明してくれてありがとう。
私はこの問題を追跡し続けます、そして多分私はより良いアプローチを見つけるでしょう。
今のところ、この問題を閉じて、PR#253をマージします。
この号を再度開くか、新しい号を開いてください。
最も参考になるコメント
私の場合、それは単にインストールされず、NPMは私がタイトルに書いたエラーをスローします。 あなたのフレームワークは素晴らしいです-しかし、スタイルフレームワークがサーバーインタープリターバージョンを必要とするのは奇妙です。 サーバーインタープリターなしではブラウザースタイルは機能しませんか?