🔥

DevinでNode.jsプロジェクトをセットアップするときは、npm ciを使うべきかもしれない

に公開

DevinのUIが変わったのか、リポジトリをインポートだけしておくということができないようになっている様子です。これまで Machine のセットアップをサボり気味だったので、観念してちゃんとセットアップをしていくようにしているところです。

セットアップの中で、ちょっとハマったことがあったため、備忘録も兼ねて紹介します。

Node.jsプロジェクトのセットアップが失敗する

簡単な Serverless API を管理しているリポジトリ( JavaScript / Serverless Framework )のセットアップにて、エラーが発生しました。これまでのステップでは全くエラーが出ていないにも関わらず、最後の最後でエラーが出たため、かなり「なぜ?」と焦りました・・・

エラーメッセージは「ERROR: Git working directory was not clean in the end」なので、Gitまわりで何か起きた可能性が高いです。特に「Git working directory was not clean」なので、意図せぬファイル変更があった様子です。

DevinのIDEに用意されているターミナルでgit statusを実行すると、package-lock.jsonに差分が出ていました。これが原因で「クリーンじゃない」と言われているみたいです。

Devinでセットアップするときは、npm iよりnpm ci

package-lock.jsonだけに差分が生まれる理由は、まぁ間違いなくnpm installでしょう。今回もセットアップ時のインストールコマンドをnpm installにしていました。

そこでコマンドをnpm ciに変更しておきます。

これでセットアップ作業が完了できました。

まだnpm inpm ciの違いをあまり深く理解していないのですが、差分を作らないという意味でもnpm ciを使ったセットアップで進めるのが良さそうです。

デジタルキューブ

Discussion