LoginSignup
0
0

More than 5 years have passed since last update.

CircleCI2のMachineExecutorなマシンでNode(v8)とYarnを使う

Posted at

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を入れます。

yarnnpmでいれちゃいます。

- 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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0