Node.js googleappengine上的私有节点模块
如何包括我的节点\ U模块或为专用npm模块指定npm登录/AUH令牌Node.js googleappengine上的私有节点模块,node.js,google-app-engine,npm,Node.js,Google App Engine,Npm,如何包括我的节点\ U模块或为专用npm模块指定npm登录/AUH令牌 GAE似乎不再允许包含node_modules文件夹(请参阅),而且似乎也没有允许npm登录或设置令牌的挂钩。如果您在要部署的应用程序中包含一个.npmrc本地文件,它将被复制到应用程序源中,并在npm安装期间使用。您可以让构建步骤创建此文件或从主目录复制它。看 .npmrc文件应如下所示: //registry.npmjs.org/:_authToken=<token here> 如何部署?使用nodejs运
GAE似乎不再允许包含node_modules文件夹(请参阅),而且似乎也没有允许npm登录或设置令牌的挂钩。如果您在要部署的应用程序中包含一个.npmrc本地文件,它将被复制到应用程序源中,并在npm安装期间使用。您可以让构建步骤创建此文件或从主目录复制它。看 .npmrc文件应如下所示:
//registry.npmjs.org/:_authToken=<token here>
如何部署?使用nodejs运行时?我使用的是nodejs运行时。我最终创建了一个自定义docker映像,它扩展了GAE基本映像,我可以控制npm的安装并为私有节点模块设置npm令牌。如果没有人有更好的答案,今晚我会把它变成一个答案。这正是我建议你做的:-)我完成了同样的工作,但使用了标准的
节点:8
-似乎应用引擎灵活模式只需要一个docker映像,一切都会正常工作。
# 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"]