問題タブ [npm-registry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
npm - ローカル開発と CI 用にプライベート npm レジストリ認証をセットアップするためのベスト プラクティスは何ですか?
CIでも機能するローカル開発用のプライベートnpmレジストリ認証を設定するための一般的なベストプラクティスがあるかどうか疑問に思います(またはその逆)。
これが私の現在の理解です:
ローカル開発の場合: 次のように実行npm login
して、アクセス トークンを作成し、~/.npmrc
ファイルを作成して、そのファイルにアクセス トークンを書き込みます。
私のプロジェクトには、.npmrc
次のファイルがあります(の隣package.json
):
これはうまくいくようです。npm がレジストリのユーザー レベルの認証設定を取得しているように見えるため、プライベート パッケージをインストールできます。
CI の場合: NPM のドキュメント.npmrc
では、CI に認証を挿入するために、プロジェクト レベルに以下を追加することが提案されています。
残念ながら、これは私のマシンのユーザーレベルの設定を上書きします。.npmrc
ファイルの優先順位は、プロジェクト レベル、ユーザー レベル、グローバル、npm ビルトインです (高いものから低いものへ)。npm CLI は、NPM_TOKEN 環境変数を使用して認証を試みるようになりました。これは、ローカル マシンで明示的にエクスポートしない限り、明らかに機能しません。
多分私は明らかな何かを見逃しています。そうでない場合、これに対処するための一般的なベストプラクティスがあるかどうか知りたいですか? アクセス トークンがユーザー レベルで既に構成されている場合に、各従業員に自分のマシンでアクセス トークンをエクスポートするように依頼することは.npmrc
、優れた解決策とは思えません。
あるいは、ユーザー レベルの構成 (または npm ログイン) に煩わされることなく、各従業員のローカル マシンでアクセス トークンを NPM_TOKEN として直接エクスポートすることもできます。しかし、前述のように、私はそれが素晴らしい解決策だとは思いません。各従業員が会社のプライベート レジストリを設定できる標準ソリューション (ユーザー レベルの構成ファイルなど) を想像します。
npm - npm エラー! code E401 パスワードが間違っているか、見つかりません。ログインしようとしていた場合は、パスワードを変更し、認証トークンを作成してください
私の新しいM1 Macbook Airでこれを試す前に、古いMacBookで試してみましたが、古いマシンでも魅力のようにシームレスに動作します
パッケージ.json
私が従った手順
1.
npm config set レジストリ "https://npm.pkg.github.com/ABC"
npm login --scope=@ABC --registry=https://npm.pkg.github.com
ユーザー名: git ユーザー名
パスワード: PersonalAccessToken
電子メール: MyEmail@Organization.com
https://npm.pkg.github.com/で gitusername としてログインします。
3.
npm install -g lerna typescript npm-check-updates
この問題に直面している
PS : すべてのコマンドは私の古い MACBOOK AIR で動作します
私はこの問題に長い間苦労しており、関連するすべての回答を読んでいますが、明確ではありません。
node.js - 同じ範囲のレジストリから複数のパッケージをダウンロードする
レジストリには 2 つのライブラリが公開されています。
- @development-group/app-utils
- @開発グループ/ui-library
にも存在するアプリで両方をダウンロードしたいと思いますhttps://gitlab.com/development-group/app-name
。.npmrc
ファイルが両方のレジストリを指すようにするにはどうすればよいですか?
私は次のようなものが欲しい:
しかし、このアプローチの問題は、2 回目のレジストリ設定が最初の設定を上書きすることです。この状況をどのように処理しますか? どんなポインタでも大歓迎です!