ターミナルでnpmコマンドを打ったらError: EROFS: read-only file systemエラー

Tool

めちゃくちゃ久しぶりにgulpでも使ってみようとnpm install …をしようとした時のことです。

Error: EROFS: read-only file system

というエラーが出て先へ進めない。

これ自体は権限が無いため出ているエラーだそう。


このエラー自体、解決はしたものの人様のお力を借りたため、しっかり理解していませんがメモとして残しておきます。

OSが原因

私の環境はMacのCatalinaです。

それがnpmが使えない原因とは思いもしませんでした。。

macOS Catalinaでnode.jsをインストール

こちらの記事のように、「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 4サクッと導入(nodenv版)

リンク先の前半は飛ばして、後半のgulpの箇所へ飛んでください。

よく使うコマンド

ls ディレクトリの中を見る。

which which npm のようにすることでnpmの場所を教えてくれる

vi 指定ファイルを編集できる

source bash やzshファイル編集後反映させる

open ファインダーのダブルクリックに相当




環境設定。。。難しいよ〜

タイトルとURLをコピーしました