0
1

More than 1 year has passed since last update.

【NestJS初心者】管理画面API作ったよって話① 〜環境構築って大変〜

Last updated at Posted at 2022-02-04

Nest.jsに慣れるために
Nest.jsを使って、管理画面APIを作ってみたいと思います〜!

Let’s start💻

環境

  • Node.js v15.0.0 -> v16.10.0
  • MySQL
  • macOS

インストール

以下のコマンドでNest CLIをインストールし、プロジェクトを作成します。

$ npm i -g @nestjs/cli
$ nest new TodoApp        // nest new [プロジェクト名]
⚡  We will scaffold your app in a few seconds..

CREATE .....
CREATE .....
CREATE .....
.
.
.

スクリーンショット 2022-02-04 20.07.11.png
どのパッケージマネジャーを使うかと聞かれたので、yarnを選択しました。

Installation in progress....
スクリーンショット 2022-02-04 20.07.11.png

なんか失敗してる。_:(´ཀ`」 ∠):

でも、Thanks言われてる、、、( ・∇・)え?

調べてもよくわからなかった。ので、とりあえず、プロジェクトを開いてみる。

スクリーンショット 2022-02-04 20.31.10.png

プロジェクトは自動生成はされているっぽい。

$ yarn run start 

で動くか試してみる。
スクリーンショット 2022-02-04 20.11.18.png

めっちゃエラー出た。_:(´ཀ`」 ∠):

さっき失敗してたから?

まぁ、@nestjs/commonとかのパッケージ追加すれば良いのでしょ?
ってことで追加!

$ yarn add @nestjs/common

スクリーンショット 2022-02-04 20.12.38.png

怒られた。_:(´ཀ`」 ∠):

node のバージョンが違う...?

$ node -v 

したら、v15.0.0だった。( ^ω^ )
いうて、警告の中で Got "15.0.0"って教えてくれてた笑

プロジェクト作成の際にこけてたのもこれが原因っぽい。

。。。ってことで!

nodenvでnodeバージョンを変更しよう!

 $ brew install nodenv

(brewをインストールしてない人は、先にインストールが必要です。)

利用しているシェルにeval "$(nodenv init -)"を追記。
 

# vim ~/.bash_profile
eval "$(nodenv init -)"

(私は~/.bash_profileでした。)
人によっては、~/.bashrc~/.zshrcかな?

上記を設定したら、一旦ターミナルを閉じる。
再度、ターミナルを開いて

$ curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash

↑このカールを実行し

Checking for `nodenv' in PATH: /usr/local/bin/nodenv
Checking for nodenv shims in PATH: OK
Checking `nodenv install' support: /usr/local/bin/nodenv-install (node-build 4.9.43)
Counting installed Node versions: 1 versions
Auditing installed plugins: OK

pathがうまく設定されていなかったら、シェルへの設定が上手くいってないので、eval "$(nodenv init -)"の追記が上手くいっているか再確認が必要!

ここまで上手くいったら、
指定のバージョンのNode.jsをインストールする

# インストール可能なNode.jsのバージョン一覧
$ nodenv install -l

#一覧が出てきます
…
16.3.0
16.4.0
16.4.1
16.4.2
16.5.0
16.6.0
16.6.1
16.6.2
16.7.0
16.8.0
16.9.0
16.10.0
…

# 自分がインストールしたいバージョンを選んでインストールする
# 今回は16.10.0を採用
$ nodenv install 16.10.0

# nodenvに認識させる
$ nodenv rehash

Node.jsのバージョンを切り替える

# インストールされているNode.jsのバージョン一覧
$ nodenv versions
16.10.0

# 現在のディレクトリ配下で利用するNode.jsのバージョンのみを設定する
$ nodenv local 16.10.0

# システム全体で利用するNode.jsのバージョンを設定する
$ nodenv global 16.10.0

#Node.jsバージョンが変わったか、確認
$ node -v
v16.10.0
#変わった!!

Node.jsのバージョン変更は以上で完了!✨

さっき警告で怒られていた、パッケージを追加していく!

$ yarn add @nestjs/common
$ yarn add @nestjs/core

✨ Doneしたら

もう一度

 $ yarn run start
[Nest] 93458  - 2022/02/04 21:48:56     LOG [NestFactory] Starting Nest application...
[Nest] 93458  - 2022/02/04 21:48:56     LOG [InstanceLoader] AppModule dependencies initialized +85ms
[Nest] 93458  - 2022/02/04 21:48:56     LOG [RoutesResolver] AppController {/}: +6ms 
[Nest] 93458  - 2022/02/04 21:48:56     LOG [RouterExplorer] Mapped {/, GET} route +3ms 
[Nest] 93458  - 2022/02/04 21:48:56     LOG [NestApplication] Nest application successfully started +2ms

無事起動できた〜!!💓

ブラウザでhttp://localhost:3000/にアクセス。
Hello Woldが表示されていたら、
環境構築は完了です!

p.s.
なんか、環境構築って、一発で上手くいったことない。。。
環境構築する時点で挫折して、自分で開発するのやめる人も多そう。(経験済み)

・・・
次は、TypeOrmを使ってMySQLに接続していきます〜( ´∀`)

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