ルートアクセスなしでNPM(ノードパッケージマネージャー)をどのように設定しますか?
-
02-10-2019 - |
質問
rootユーザーがStraighforwardとWorkdsとしてNPMを上げます。 rootとしてnpmコマンドを実行する必要がある場合を除き(推奨されません)。だから、私はそれを非ルートユーザーとしてセットアップしてみたと思った。
NPMのドキュメントによると、ルートアクセスのない非ルートユーザーは、次のことでnpmを設定できます。
- 作成
.npmrc
でファイルroot
,binroot
, 、 とmanroot
ユーザーが所有するフォルダーを指しています。 - 次に、インストールスクリプトを実行します。
わかった。インストールは大丈夫でした。
しかし、ノードはNPMが提供するパッケージを表示できません。
では、NPMが提供するパッケージをノードに認識させるにはどうすればよいですか? (以前にnpmをrootとしてインストールしたとき、私は何もする必要はありませんでした)。設定できます require.paths
ノード内、または設定します NODE_PATH
環境変数、しかし何に?
ありがとう。
解決
少しの探索を通して、あなたはどちらもできるようです:
- あなたを設定します
NODE_PATH
NPMのルートディレクトリが何であれ、または - ノードにいる間、呼び出します
require.paths.push('path_to_npm_root')
他のヒント
これは私のために働いた:
作る
~/.node
フォルダmkdir ~/.node
編集
~/.npmrc
ラインを追加しますprefix = ~/.node
編集します
~/.profile
また~/.bash_profile
これらの行を追加しますPATH="$HOME/.node/bin:$PATH" NODE_PATH="$HOME/.node/lib/node_modules:$NODE_PATH"
今、私はようなことができます npm -g install http-server
にインストールします ~/.node
ルートなし。これを設置すると、タイプするときに http-server
, 、それは実行されます。
所属していません StackOverflow