Macユーザーがエラーと戦ってLinux(仮想環境)にNode.jsをインストールした話。

こちらのサイトを参考にNode.jsをインストールしましたが・・・・・・

[Node.js] Node.js の導入(Linux/Mac編) - Qiita
Node.js の導入(Windows編) の Linux / Mac 版。 こちらは nodist ではなく、n を使って管理する。 ( 2018/02/18 Mac 環境について追記 ) n n は N...

この時点でエラー出まくり。ちなみに、私はMac High Sierra 10.13.6を使っています。
エラーがでたコマンド:$ sudo apt-get install npm

 

 

 

どんなエラーが出て、どのようにNode.jsのインストールに成功したか説明します

 

 

 

エラーと戦ってLinuxにNode.jsをインストールした。。。。

$ sudo apt-get install npm 実行

パッケージ npm が見つかりません

$ sudo apt-get install npm 実行

 

ここで、以下のエラー。。。。
E: パッケージ npm が見つかりません

 

 

下記サイト様がこうおっしゃっていました。

npmがないとのこと。
じゃあ、とりあえずnodejsだけインストールしてみました。
もしかしたらnpmも一緒についてくるかも、と期待しつつ。

debian9.2にNode.jsとnpmをインストールする
今回は、debian9.2にNode.jsとnpmをインストールする方法を紹介します。debian9のリポジトリにはnpmがありません。別の方法でインストールしたらうまくいきました。

とりあえず、nodejsをインストールすればいいのかな?

 

 

 

Linux上でとりあえず、nodejsをインストール

root 権限で実行していますか?

※root 権限とは、管理者権限のこと。

【完全初心者向け】Linuxのrootユーザとは?
LinuxのrootユーザとはLinuxの管理者のことだ。このページではrootユーザについて初心者の方向けにご紹介しよう。

 

debian9.2にNode.jsとnpmをインストールする
今回は、debian9.2にNode.jsとnpmをインストールする方法を紹介します。debian9のリポジトリにはnpmがありません。別の方法でインストールしたらうまくいきました。

$ apt install curl 実行

 

ここで以下のエラー。。。。

E: 管理用ディレクトリ (/var/lib/dpkg/) をロックできません。root 権限で実行していますか?

どうやら、root権限(管理者権限)で実行してください、とのことでした。

 

今ログインしている権限(ユーザー)は、@の前に書いてあります。
Linux環境下・仮想環境下では、vagrantでした。

 

ちなみに以下のコマンドでも現在のユーザー情報を取得できます。

$ who

Linuxでユーザーの一覧や現在のユーザを確認する方法とは?
Linuxを管理していると「どのようなユーザが何人いるのか?」その一覧を知りたいという場合があるだろう。また、現在ログインしているユーザを確認したいという場合もあるはずだ。このページではLinuxでユーザの一覧と、現在ログインしているユーザの一覧を取得する方法をまとめてご紹介しよう!

 

 

 

仮想環境下でもroot権限で作業できればいい??

 

 

 

仮想環境でもroot権限で作業できるようにする

成功例

Ubuntuでroot権限で作業をしたい - Qiita
元ネタはこちらの記事です。 Ubuntuでroot権限をとる時のお話です。 そもそもなんでこんな話になるの? Ubuntuは、デフォルトではrootがありません、、、と言うと少し語弊がありますが、要はrootでログインできませ...

$ sudo su - 実行

 

 

で、で、できた〜〜〜

ユーザーがvagrantだったのが、

rootに変更できました〜〜〜〜〜!!!!

 

ちなみに、権限をvagrantに戻したいときは、、、
$ exit です。

 

 

 

Node.jsをいよいよインストールする

仮想環境にroot権限で入れたので、Node.jsをインストールしていきます。

再びこちらのサイトを参考にさせていただきました!

debian9.2にNode.jsとnpmをインストールする
今回は、debian9.2にNode.jsとnpmをインストールする方法を紹介します。debian9のリポジトリにはnpmがありません。別の方法でインストールしたらうまくいきました。
  1. # apt install curl 実行
  2. # curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    1. 私は、最新版のNode.js ver.10を指定
    2. ver.8をインストールしたい場合は、setup_8.xにします
    3. インストールに時間がかかるのでしばしお待ちを。
  3.  # apt-get install -y nodejs

 

 

suでroot権限になれない時

結果、$ sudo su -の実行で解決できたのですが、その前にハマったものがあります。

それは、ただ単に$ suを実行した時です。

 

(私の場合は、下記の方法で解決できなかったのですが、参考例として記述します。)

 

$ suを実行すれば、仮想環境でもroot権限で作業ができるようなる、とどこかの記事に書いてあったので実行してみたところ・・・・。

※ちなみにPassword: が求められるので、パスワードを入れます。(私の場合、PCを開くときのパスワード)

 

以下のエラーが出ました。。。

su: Authentication failure

 

 

suでrootになれなくなった話
結論的にはどうしようもない話なんですが、 突然suでrootになろうとしたら Authentication failureと出てどうしてもrootになれなくなったという話。

こちらのサイトを参考に、まず、suがどこにいるのか(?)を探します。

$ type -a su 実行
結果、su is /bin/su

/bin/su にいる(?)みたいです。

 

 

/bin/suの権限を確認

$ ls -l /bin/su 実行
結果、-rwxr-xr-x. 1 root root 34904 Mar 22 22:40 /bin/su

 

 

 

x → s にしたい。-rwsr-xr-x. 1 root root 34904 Mar 22 22:40 /bin/su

$ chmod 4755 /bin/su 実行

以下のエラー。。。

Operation not permitted

 

Macを使っていると、これが出ることがあるらしいです。

以下のサイトの手順でPCを再起動させると、権限が変えられる?らしいです

https://qiita.com/iwaseasahi/items/9d2e29b02df5cce7285d
https://qiita.com/mym/items/90bf9f0a6417bd785bb0

 

 

 

まとめインストール手順

  1. 仮想環境に入る
    1. $ vagrant up
    2. $ vagrant ssh
  2. root権限で作業する
    1. $ sudo su -
  3. インストールする
    1. # apt install curl
    2. # curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - (ver.10の場合)
    3. # apt-get install -y nodejs
  4. 念のためインストールしたNode.jsのバージョンを確認
    1. # node -v
    2. 私の場合、ver.10なので、v10.10.0と表示される
  5. npmもインストールされているか確認
    1. # npm -v
    2. 私の場合、6.4.1と表示される
  6. root権限から、元のユーザーに戻る
    1. # exit

 

 

 

 

 

以上です!

コメント