カテゴリー
Node.js

package.jsonの中身

package.jsonの中身の例

{
  "name": "my-package",
  "description": "my first package ever",
  "license": "MIT",
  "version": "1.0.0",
  "bin": "./cli.js",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "axios": "^0.18.0"
  },
  "devDependencies": {
    "eslint": "^5.14.1"
  }
}

dependencies

本番環境で必要なパッケージが列挙されている

devDependencies

開発、テスト、デバッグ中にのみ必要なパッケージが列挙されている

例えば、Linter は開発中は必要ですが、本番は不要なので、devDependenciesに含める

バージョン指定の見方

前提として

例)4.17.1

と書かれていたら、

  • 一番右:メジャーバージョンは「4」
  • 真ん中:マイナーバージョンは「17」
  • 一番左:パッチバージョンは「1」

になります。

これを踏まえて

^(キャレット)

例)^4.17.1

→ メジャーバージョンは「4」と一致しかつマイナーバージョンは「17」以上

  • 4.18.x → OK
  • 4.20.x → OK
  • 5.0.0 → NG
  • 4.16.1→ NG

~(チルダ)

例)~4.17.1

→ メジャーバージョンは「4」かつマイナーバージョンは「17」と一致しかつパッチバージョンは「1」以上

  • 4.17.2 → OK
  • 4.17.5 → OK
  • 4.18.x → NG
  • 5.0.0 → NG
  • 4.16.x → NG

^(キャレット)、~(チルダ)なし

例)4.17.1

4.17.1 のみOK

scripts

コマンドのエイリアス

任意のコマンドに名前をつけることができる

main

なんかのパッケージをインポートするときのエントリポイント(?)が記載されている

bin

本パッケージを実行するときのCLIコマンドが記載されている

参考:

【初心者向け】NPMとpackage.jsonを概念的に理解する

カテゴリー
Node.js

Node.jsとかnpmとかごちゃごちゃなので整理してみた

タイトルの通りなので、整理してみました。

確認環境:

Windows10

node v12.18.4

npm 6.14.8

Node.jsとは

サーバーサイドのJavaScript

JavaScriptでWebアプリを作りたいと思ったら、事始めにNode.jsをインストールすることになるはず。

Node.jsをインストールすると、npmが使えるようになるはず。

Node.jsのインストール方法

いろいろある。

1 インストーラからインストール

手っ取り早い方法は、以下からインストーラをダウンロードしてインストールする。

Node.js 公式サイト

Node.js 公式サイト ダウンロード

インストールされていることを確認するためバージョンを表示する。

node --version

nodeでできることを確認するたには、nodeのヘルプを見るのがよいです。

node -h

2 Homebrewからインストール

macの場合、Homebrewを使ってインストールすることもできる。

Homebrewとは

macOS(またはLinux)用パッケージマネージャー

アップル(またはLinuxシステム)が提供していない必要なものをインストールとかアンインストールできる。

Homebrew 公式サイト

上記のサイトに記載されている方法で、まずはHomebrewをインストールして、

brew install node

でnode.jsをインストールする方法もあり。

3 nodebrewからインストール

macOS(またはLinux)の場合、nodebrewを使ってインストールすることもできる。

※ Homebrewと名前が似てますが、別物。

nodebrewとは

複数のバージョンのnodeを切り替えて使える、nodeの管理システム。

使い方はほぼ、以下のサイトに書いてあります。

nodebrew github

npm(Node Package Manager)とは

Node.jsのパッケージ管理システム。

例えば、jsのフレームワークexpressが使いたい場合に、npmでインストールしたり、いらなくなったパッケージをアンインストールしたりできる。

nodeをインストールしたら、npmコマンドが使えるようになります。

npmはグローバルとローカルを意識する

グローバルとローカルでパッケージがインストールされる場所やスコープが異なります。

ググってnpm関連の記事を読む時に、このことを頭のすみに置いといたほうが良いです。

特定のプロジェクトでしか使わないパッケージはローカルにインストールし、いつも使うパッケージはグローバルにインストールするのが良い。

ローカルにインストール

npm install [パッケージ名]

対象プロジェクトにだけパッケージがインストールされます。

対象プロジェクトの「node_modules」フォルダにパッケージがインストールされます。

グローバルにインストール

npm install -g [パッケージ名]

ローカルインストールと異なる点は「-g」オプションをつけること。

インストールしたパッケージはどこからでも使えます。

WindowsとかMacとか環境によって異なりますが、ホームディレクトリのあたりにパッケージはインストールされます。

npmのコマンド

npmのヘルプを表示

npm -h

npmのバージョンを表示

npm --version

インストールされたパッケージの一覧を表示

npm list
npm list -g

リストが長くなる場合は、

npm list --depth=0

のように「--depth」オプションで表示する階層を指定できます。

パッケージのアンインストール

npm uninstall [パッケージ名]
npm uninstall -g [パッケージ名]

package.jsonとは

そのプロジェクトのプロジェクト名とかバージョン情報とかパッケージ情報が書かれたもの

package-lock.jsonとは

プロジェクトのすべてのパッケージの依存関係(dependency)が書かれたもの

「npm install」で自動作成される。

package.json、package-lock.jsonの使われ方

プロジェクト(パッケージ)を公開するつもりがないなら、あまり気にする必要はない。

複数人で同じプロジェクトを分担して作業する時や、異なるマシンで作業する場合、package.json、package-lock.jsonファイルをもとに、まったく同じ依存関係(パッケージのバージョンとか)を実現できる。

package.json、package-lock.jsonファイルをプロジェクトのルートフォルダにコピーして

npm init

すると、package.json、package-lock.jsonファイルに基づいて、必要なパッケージをインストールしてくれる。

以下の記事がすごい参考になりました。

【初心者向け】NPMとpackage.jsonを概念的に理解する -Qiita

カテゴリー
JavaScript

XSERVERにnode.jsをインストールする方法

環境:

Xserver

Mac OS

node.js

nodebrew 11.10.0

npm 6.7.0

前提:

・XserverにSSHで接続できるようにしておく

こちらの記事 を参考にどうぞ。

まず、XserverにSSHでアクセスします。

Xserverのホームディレクトリを確認してみます。

ls -la ~/

lsコマンドで -l(長形式)-a(隠しファイルを含めて全部を表示)オプション付けて、~/ (ホームディレクトリ)を表示します。

ここに .bashrc 隠しファイルがあります。

.bashrc は Windowsでいうところの環境変数の設定をするファイルです。

後ほど、このファイルを編集してパスを通します。

nodebrewをインストールします。

node.jsをインストールする前にまずは、

node.jsのバージョン管理を行なってくれる

nodebrewをインストールします。

wget git.io/nodebrew
perl nodebrew setup

すると、

.nodebrew フォルダが作成されます。

.bashrc ファイルに .nodebrewのパスを通します。

echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc

設定を読み込みます。

source ~/.bashrc

これで、nodebrewコマンドが使えるはずなので、バージョンを確認してみます。

nodebrew -v

バージョンが表示されればOKです。

node.jsをインストールする前に、どんなバージョンがあるか確認します。

nodebrew ls-remote

ずらっと表示されますが、公式サイトで最新版になっている

v11.10.0

をインストールします。

nodebrew install-binary v11.10.0

インストールしたら、使います宣言を忘れずにしておきます。

nodebrew use v11.10.0

以下のコマンドでインストールされているnodebrewのバージョンと現在使用しているnodebrewのバージョンが確認できます。

current: に指定したバージョンが表示されていればOKです。

nodebrew ls

これで、node.jsが使えるようになりましたので、

npm -v

でバージョンが表示されるはずです。

これで npm コマンドが使えるようになったので、あとは自由にインストールなどしていきます。

なお、npmのパスの確認は

グローバルの場合

npm bin -g

ローカルの場合

npm bin

で確認できます。

参考:

Qiita:node.jsのversionを管理するためにnodebrewを利用する

Node.js 公式サイト