1. ホーム
  2. node.js

[解決済み] sudo を使用しないと NPM モジュールがグローバルにインストールされない

2022-06-21 09:52:35

質問

私はちょうどUbuntu 12.04 LTSを再インストールしました。そして何よりもまず、私は以下のステップを行いました。 :

  1. 以下のスクリプトで、パッケージマネージャ経由でNodeをインストールしました。

    sudo apt-get update
    
    sudo apt-get install python-software-properties python g++ make
    
    sudo add-apt-repository ppa:chris-lea/node.js
    
    sudo apt-get update
    
    sudo apt-get install nodejs
    
    
  2. yeoman、express、n、yeoman's generators をグローバルにインストールしようとしましたが、すべて同じエラーが返されました。

    npm ERR! エラーです。EACCES, シンボリックリンク '../lib/node_modules/n/bin/n'.

    npm ERR! { [Error: EACCES, symlink '../lib/node_modules/n/bin/n'] errno: 3, code: 'EACCES', path: '../lib/node_modules/n/bin/n' }.

    npm ERR!

    npm ERR! このコマンドを root/Administrator で再度実行してみてください。

    npm ERR! システム Linux 3.8.0-29-generic

    npm ERR! コマンド "/usr/bin/node" "/usr/bin/npm" "install" "-g" "-d" "n".X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X;

    npm ERR! cwd /home/heberlz

    npm ERR! node -v v0.10.20

    npm ERR! npm -v 1.3.11

    npm ERR! パス ../lib/node_modules/n/bin/n

    npm ERR! コード EACCES

    npm ERR! errno 3

    npm ERR! スタックエラー。EACCES, シンボリックリンク '../lib/node_modules/n/bin/n'.

    npm ERR!

    npm ERR! その他のログの詳細については

    npm ERR! /home/heberlz/npm-debug.log にあります。

    npm ERR!OKでないコード0

  3. 以下のフォルダの所有権を再帰的に取り戻しました。 ~/.npm、/usr/lib/node、/usr/lib/node_modules、および以下のシンボリックリンクの /usr/bin/node、/usr/bin/nodejs の所有権を取り戻しました。 は全く成功しませんでしたが

後で困らないように、sudoなしでyeomanとそのジェネレータをインストールする必要があります :(

どのように解決するのですか?

Ubuntu 12.04で、インストールにChris LeaのPPAを使用すると、以下のように動作します。

npm config set prefix '~/.npm-packages'

で、$HOME/.npm-packages/binを$PATHに追加します。

に追加します。 .bashrc

export PATH="$PATH:$HOME/.npm-packages/bin"

見る https://stackoverflow.com/a/18277225 パッシーより