GNU/Linux >> Linux の 問題 >  >> Ubuntu

ノードモジュールには755の権限がありますが、NpmがSudoを必要としないように設定する必要がある権限は何ですか?

npmを実行するフレームワークを使用しています およびwebpack 自動的に、ディレクトリ/usr/lib/node_modules npmを実行するために必要な755の権限を持っている sudoを介して 。私が使用しているフレームワークでは、sudoを追加できません コマンドに。

次に、npmパッケージをグローバル形式でインストールする必要があります(例:npm install webpack -gsudoを使用せずに 。

/usr/lib/node_modulesに対してどのような権限で問題ありませんか ? 777の権限を設定した場合、それは問題なく安全ですか?

ありがとう!

承認された回答:

許可を変更する必要はありません npmsudoなしで使用できるようにする 。 npmを設定するには sudoなしで実行するには 次の手順に従ってください:

オプション1:

  1. npmディレクトリのパスを取得します:

    npm config get prefix
    
  2. /usrを取得した場合 オプション2に移動 それ以外の場合は、npmディレクトリの所有者を自分のものに変更します:

     sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    

オプション2:

  1. グローバルインストール用のディレクトリを作成します:

    mkdir ~/.npm-global
    
  2. そのディレクトリを使用するように構成します:

    npm config set prefix '~/.npm-global'
    
  3. ~/.profileを開くか作成します そしてこれを追加します:

    export PATH=~/.npm-global/bin:$PATH
    
  4. これを~/.bashrcにも追加します ファイル(オプション):

    export PATH=/home/username/.npm-global/bin:$PATH
    export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
    
  5. ファイルを更新します:

    source ~/.bashrc
    
  6. 実行してテスト:

    npm install -g jshint
    

出典:

https://docs.npmjs.com/getting-started/fixing-npm-permissions

http://www.competa.com/blog/how-to-run-npm-without-sudo/


Ubuntu
  1. Sudo:/ var / lib / sudo / navneet非所有者(040777)によって書き込み可能、​​モード0700にする必要がありますか?

  2. Jshintを機能させる方法は?

  3. Linuxでの理想的なホームディレクトリのアクセス許可はどうあるべきか

  1. Node.jsの競合:/ sbin/nodeと/usr/ bin / node?

  2. Apache と PHP はどのユーザーとして実行する必要がありますか? /var/www ファイルにはどのような権限が必要ですか?

  3. Linux Web サーバー上で、Web サイトのファイル/フォルダーにどのようなアクセス許可を設定する必要がありますか?

  1. ApacheでModSecurityを設定および構成する方法

  2. Umaskとは何ですか?その使用方法

  3. MacにNode.jsとNPMをインストールする方法