web-dev-qa-db-ja.com

.npmrcを使用するために環境変数を設定する方法

プライベートnpmパッケージをダウンロードするには、プロジェクトにモジュールが必要です。これを達成するために、私は.npmrcファイルを使用して、パッケージのダウンロードに必要な読み取り専用トークンを提供します。 npmによって提供されたトークンをファイルの外に保持するために、それを環境変数として追加し、ファイル内で展開させたいと思います。例えば:

# .npmrc
//registry.npmjs.org/:_authToken=${NPM_TOKEN}

取得方法がわかりませんNPM_TOKENは、インストールで参照される前に、envに追加されました。 npm preinstallスクリプトを使用してみました:

"preinstall": "NPM_READ_ONLY_TOKEN=my_token_goes_here_foo_bar" **

しかし、私はまだ同じエラーが発生します:

Error: Failed to replace env in config: ${NPM_READ_ONLY_TOKEN}

.npmrc変数の展開前にpreinstallが実行されるかどうかを確認するために、echoコマンドを使用してテストを試みましたが、実行されないようです。エラーが発生し、エコーログが表示されません。ここに何か欠けているようです。

私のトークンをpackage.jsonに入れると、トークンを.npmrcファイルから引き出す目的に反することを知っています。コマンドを実行して必要なトークンを取得するために使用するenv configサービスを提供するサービスを実際に使用しています。例えば。 TOKEN=config_service_value

12
skwny

環境変数を.bashrcまたはその他の起動シェルファイルに追加できます。

export NPM_TOKEN=my_token_goes_here_foo_bar

1
jonathanhculver

Npmrcのドキュメントは間違っています。

変数展開は$EXPAND_MEではなく${EXPAND_ME}

1
skwny