めちゃくちゃ久しぶりにgulpでも使ってみようとnpm install …をしようとした時のことです。
Error: EROFS: read-only file system
というエラーが出て先へ進めない。
これ自体は権限が無いため出ているエラーだそう。
このエラー自体、解決はしたものの人様のお力を借りたため、しっかり理解していませんがメモとして残しておきます。
OSが原因
私の環境はMacのCatalinaです。
それがnpmが使えない原因とは思いもしませんでした。。
こちらの記事のように、「HomebrewでインストールしたnodebrewではNode.jsやnpmが使えない」という現象が起こっているようなのです。
ひとまず、リンク先を参考に
curl -L git.io/nodebrew | perl - setup
curlコマンドでnodebrewをhomebrewを介さずにインストール。
リンク先を参考にする際のポイント
1
上記記事内にもありますが、macのデフォルトがbashではなくzshに(飛び先はmacのサポートです)というのも大事な要因でした。何も考えずbashファイルにパス設定してた。。
2
リンク先ページでは省略されていますが、インストールしたあとはパスを通さないと使えないのでexport $PATH=/…でパスを通してしてください
※直接zshファイルを編集する場合は
vi ~/.zshrc
パスを通したあとは設定を反映させる
source ~/.zshrc
3
※node.jsは新しめの安定版をインストールしてください↓コマンド
nodebrew install-binary stable
gulpインストール
これでやっとnpmコマンドが使えるように。。
しかし3年以上前の古い記事のコマンドを参考にしたところうまく動かず、新しい記事のコマンドを使ったところ成功しました。
※しかし
sudo npm install -D gulp
のようにsudoコマンドも足してください!無いと動きませんでした。。
以下参考サイト様。
リンク先の前半は飛ばして、後半のgulpの箇所へ飛んでください。
よく使うコマンド
ls ディレクトリの中を見る。
which which npm のようにすることでnpmの場所を教えてくれる
vi 指定ファイルを編集できる
source bash やzshファイル編集後反映させる
open ファインダーのダブルクリックに相当
環境設定。。。難しいよ〜