2016-07-15 11 views
1

スコープ付きモジュールがあり、npmが解決できるようにするには、そのリポジトリの場所を指定する必要があります。私の問題は、GETリクエストのためのいくつかのプロキシと認証のため、私はビルドサーバー(トラヴィス企業)に対する開発のための.npmrcに異なる値を入れる必要があるということですスコープ付きnpmレジストリURLを環境変数として定義します。

@my-scope:registry=http://my-sweet-replication.example.com/npm/ 

:これは、次のような、すなわち.npmrcで行うことができます。スコープのないパッケージの環境変数はnpmで読み取ることができますが、環境変数で@:の両方が無効な文字であるため、正しいURLをエクスポートできません。

スコープ設定されたモジュールをどこに置くかをnpmに伝える方法に関するアイデアは、.npmrcに入れてください。

答えて

1

今のところ、私の解決策はenvコマンドを使用することである、すなわち、(.travis.yml中)

install: env '[email protected]:REGISTRY=http://my-sweet-replication.example.com/npm/' npm install 

があることは、それを行うための唯一の方法ですか?それだけでREGISTRY

をエクスポートしようとするので、それは、EXPORTを使用して(私はグーグルからの任意のヒットを取得していないとして、私の答えを投稿する)、env行列が動作しませんトラヴィスに

0

それを置く

適切なトークンを使用して~/.npmrcをインストールして、手動でユーザーを作成します。

まず、プロジェクトのenvvarsに入り、何らかの名前でトークンを設定します。この例ではNPM_TOKENを使用しますが、それは重要ではありません。 unixの中には、小文字のenvvarsで壊れているものもあるので、allcapsを使用してください。

次はあなたの.travis.ymlに次の行を追加します。

before_install: 
    - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc 

今、あなたは適切な資格情報を持つNPMのユーザーを持つ必要があります。

関連する問題