Bluemix build pipeline set node and npm version

2019-02-27 10:31发布

I want to deploy an angular 2 app on bluemix. The code is located at github and i want to deploy my app when i push something. So i created a pipeline. First the build pipeline: to build the angular app i need angularCLI, so i want to install it. Unfortunately the default node version is 4.2 but the cli needs at least 6.9. Here is my build-shell-command:

#!/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

I tried to replace 4.2 with 6.9 but it doesnt work and it uses the default node version 0.10.40. Anyone know how to set the node version? Also the npm version is out of date... how can i fix this?

2条回答
等我变得足够好
2楼-- · 2019-02-27 11:04

Ok, bluemix just provide a few versions of node and npm... Found the solution at 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 ...
查看更多
趁早两清
3楼-- · 2019-02-27 11:19

The answer above pointed me in the right direction, but newer versions of NVM wouldn't work. NVM's install.sh now checks if NVM_DIR is set but the directory doesn't exist.

I changed the NVM_DIR path and declared it after install.sh has completed.

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
查看更多
登录 后发表回答