MachineExecutorなマシン
https://circleci.com/docs/2.0/executor-types/# こっちじゃなく # docker: # - image: ... # こっち machine:true
絶対もっといい方法あるはず😅
問題
マシンにssh
した後にnvm
するとヘルプが表示されます。「よーし、じゃあnvm
で入れちゃおう」と思ったけどちょっとハマったのでメモ。
ステップ中でrun: nvm
とかしても「nvm
なんてコマンドないぜ」と怒られてしまいます。run
を実行する前に.bashrc
とか読まれてないみたい。多分。
解決
source
で.bashrc
を読み込む。/home/circleci/.bashrc
というファイルにnvm
の事とか色々書かれてるのでこれを使います。また、(2017年8月9日現在)デフォルトで入ってるのは6.xなので8.xを入れます。
yarn
はnpm
でいれちゃいます。
- run: |
source /home/circleci/.bashrc
nvm install 8
npm i -g yarn
ちなみに、ここで6.xをnvm uninstall 6
したら駄目でした。
run:
毎に毎回.bashrc
を読み込んでない状態で始まるのと、source .bashrc
した時に6.xを探しに行ってしまい無いとエラーを返してciが失敗してしまいます。
.bashrc
を読んでないので、以降のステップでいきなりyarn
とかしても、「yarn
なんてコマンドないぜ」と怒られます。なので、node
に関係あるすべてのrun
で.bashrc
を読み込んで、「8.xを使うぜ」と言ってあげることでどうにか先に進めます。
こんな感じです。
- run:
name: Install node & yarn
command: |
source /home/circleci/.bashrc
nvm install 8
npm i -g yarn
- run:
name: Show versions
command: |
source /home/circleci/.bashrc
nvm use 8
node -v
yarn -V
- run:
name: Yarn
command: |
source /home/circleci/.bashrc
nvm use 8
yarn