Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9027

CircleCIのnode imageでnpm installに失敗する

$
0
0

CircleCI2系で、公式ドキュメントを参照してセットアップしたらnpm installがコケた。
circleci/node:6.17.1のイメージを使用してる環境。

https://circleci.com/docs/ja/2.0/language-javascript/

Error: Cannot find module 'strip-ansi'

こういうエラーでnpm installが停止する。
package-lockの中を見るとstrip-ansiは入ってるし……と思ってたがプロジェクトのパッケージが問題ではなくて、原因としては、公式ドキュメントにある sudoがだめ。

.circleci/config.yml
-run:name:update-npmcommand:'sudonpminstall-gnpm@latest'

npmがsudoでインストールされるとそのあとのnpmコマンドが通らなくなる(別にinstallに限らずnpmコマンド全部落ちる)。
sudoを外すとパーミッションでコケるので、以下のように変更するとよい

.circleci/config.yml
-run:name:set-global-prefixcommand:npm config set prefix '$HOME/.npm-global/'-run:name:update-npmcommand:npm install -g npm@latest

グローバルパッケージのインストール場所をパーミッションのいらないところに変更すると通る。
もしかしたらnodeのバージョンにもよるのかもしれないけど、公式通りにやるとハマるのは困った。


Viewing all articles
Browse latest Browse all 9027

Trending Articles