プライベートnpmモジュールにnode_modulesを含めるにはどうすればよいですか、またはnpm login/authトークンを指定しますか?Google App Engineのプライベートノードモジュール
GAEでは、node_modulesフォルダがまったく含まれなくなりました(this issueを参照)。また、npmのログインやトークンの設定を許可するフックがないようです。
プライベートnpmモジュールにnode_modulesを含めるにはどうすればよいですか、またはnpm login/authトークンを指定しますか?Google App Engineのプライベートノードモジュール
GAEでは、node_modulesフォルダがまったく含まれなくなりました(this issueを参照)。また、npmのログインやトークンの設定を許可するフックがないようです。
展開するアプリケーションにローカルの.npmrcファイルを含めると、アプリケーションソースにコピーされ、npmのインストール中に使用されます。このファイルを作成するか、ホームディレクトリからコピーするビルドステップを持つことができます。 this npm articleを参照してください。
.npmrcファイルは次のようになります:
//registry.npmjs.org/:_authToken=<token here>
Dockerfile私はそうのようなルックスを使用:
# Use the base App Engine Docker image, based on debian jessie.
FROM gcr.io/google_appengine/base
# Install updates and dependencies
RUN apt-get update -y && apt-get install --no-install-recommends -y -q curl python build-essential git ca-certificates libkrb5-dev && \
apt-get clean && rm /var/lib/apt/lists/*_*
# Install the latest release of nodejs
RUN mkdir /nodejs && curl https://nodejs.org/dist/v6.2.1/node-v6.2.1-linux-x64.tar.gz | tar xvzf - -C /nodejs --strip-components=1
ENV PATH $PATH:/nodejs/bin
COPY . /app/
WORKDIR /app
# NODE_ENV to production so npm only installs needed dependencies
ENV NODE_ENV production
RUN npm install --unsafe-perm || \
((if [ -f npm-debug.log ]; then \
cat npm-debug.log; \
fi) && false)
# start
CMD ["npm", "start"]
標準の 'FROM node:8'を使って同じことを達成しました.App Engineの柔軟なモードでは単にドッカー画像が必要で、すべてがうまくいくようです。 – nover
あなたはどのように展開していますか? nodejsランタイムでは? –
私はnodejsランタイムを使用していました。私はnpmのインストールを制御し、プライベートノードモジュール用のnpmトークンを設定できるGAEベースイメージを拡張するカスタムドッカーイメージを作成しました。私は誰にも良い答えがないなら、これを今夜の答えに変えるでしょう。 – mark
これはまさに私があなたにお勧めするものです:-) –