npm
https://github.com/npm/logos/blob/master/npm%20square/n-large.png?raw=true
Node Package Manager
Package Managers パッケージマネージャー
JavaScript 系のパッケージを管理するツール
スピードや使いやすさがyarnに負けていたが、npx来たりバージョンアップで同じぐらいに
使用
npm導入
code:terminal
cd hogehoge
npm init
#package.json が生成される
パッケージのインストール
code:terminal
npm install #カレントディレクトリ node_modules/へ
npm i パッケージ
npm install -g パッケージ #システムディレクトリ node_modules/へ
npm i パッケージ --save or -S #packkage.jsonに記述
#プロジェクト単体で使用するモジュールとしてインストール
npm i -D パッケージ #--save --dev のショートカット
参考
ちゃんと使い分けてる? dependenciesいろいろ。 - Qiita
ビルド
code:terminal
npm run //npm scripts と呼ばれるタスク実行
npm scripts 例
code:package.json
{
"scripts": {
"build": "browserify src/main.js > build/bundle.js"
#エイリアスみたいな役割
#globalでインストールしてなかったり、設定してなくても使える
}
}
npm scripts参考記事
Node.jsユーザーなら押さえておきたいnpm-scriptsのタスク実行方法まとめ
このようなタスクを自動処理するものも存在
Task Runners タスクランナー ビルドシステム
Gulp
Grunt
それぞれの方法は一長一短
code:terminal
npm run build
# 実行 browserify src/main.js > build/bundle.js
パッケージ管理
audit
npm-audit | npm Documentation
使用packageにセキュリティ Security的な問題があると教えてくれる
npm audit fix
で割と直してくれる
npm ls hoge-package
依存関係示してくれる
困りごと
グローバルインストール
code:install-g.sh
npm i -g hoge
hoge //not found
パス通す
npm -g でグローバルインストールしたときに、モジュールがインストールされるパスを調べる - Code Log
ルート見るに、nvm でバージョン変えたから、パスの通し直しが必要だった?
/user/hogetaro/.nvm/versions/node/v12.13.0/lib/node_modules
npm i できない
gyp: No Xcode or CLT version detected!
Macでyarn installしたらnode-gypのエラーが出た - Qiita
https://tech.isid.co.jp/entry/2021/12/24/フロントエンド依存ライブラリのバージョンアップ