Bluemix 构建管道集节点和 npm 版本

Bluemix build pipeline set node and npm version

我想在 bluemix 上部署一个 angular 2 应用程序。代码位于 github,我想在推送内容时部署我的应用程序。所以我创建了一个管道。 首先是构建管道:要构建 angular 应用程序,我需要 angularCLI,所以我想安装它。不幸的是,默认节点版本是 4.2,但 cli 至少需要 6.9。 这是我的构建-shell-命令:

#!/bin/bash
# The default Node.js version is 0.10.40
# To use Node.js 0.12.7, uncomment the following line:
#export PATH=/opt/IBM/node-v0.12/bin:$PATH
# To use Node.js 4.2.2, uncomment the following line:
export PATH=/opt/IBM/node-v6.9/bin:$PATH
npm install -g @angular/cli
npm run build

我尝试用 6.9 替换 4.2,但它不起作用,它使用默认节点版本 0.10.40。有人知道如何设置节点版本吗? npm 版本也已过时...我该如何解决?

好的,bluemix 只是提供了几个版本的 node 和 npm ... 在 http://gh-blog.mybluemix.net/blogs/cokeSchlumpf/rethink-it/posts/bluemix/node-buildpipeline.md?cm_mc_uid=01575932457714863658655&cm_mc_sid_50200000=1487233177

找到解决方案
#!/bin/bash
export NVM_DIR=/home/pipeline/nvm
export NODE_VERSION=5.10.1
export NVM_VERSION=0.29.0

npm config delete prefix \
  && curl https://raw.githubusercontent.com/creationix/nvm/v${NVM_VERSION}/install.sh | sh \
  && . $NVM_DIR/nvm.sh \
  && nvm install $NODE_VERSION \
  && nvm alias default $NODE_VERSION \
  && nvm use default \
  && node -v \
  && npm -v

npm install
# Further steps ...

为我指明了正确的方向,但较新版本的 NVM 无法正常工作。 NVM 的 install.sh 现在检查是否设置了 NVM_DIR 但目录不存在。

我更改了 NVM_DIR 路径并在 install.sh 完成后声明它。

bash
#!/bin/bash

export NODE_VERSION=8
export NVM_VERSION=0.33.11

npm config delete prefix \
  && curl -o- https://raw.githubusercontent.com/creationix/nvm/v${NVM_VERSION}/install.sh | bash \
  && export NVM_DIR="$HOME/.nvm" \
  && . $NVM_DIR/nvm.sh \
  && nvm install $NODE_VERSION \
  && nvm alias default $NODE_VERSION \
  && nvm use default \
  && node -v \
  && npm -v