2 に答える
いいえ、グローバルにインストールされた Node モジュールに独自のディレクトリへの書き込み権限を与える方法はありません。
実際、グローバル インストールを許可するには、つまり に書き込めるようにするには/usr/local/lib、NPM をルートとして実行する必要がありますsudo。ただし、そうすると、NPM はユーザーを次のようにダウングレードしますnobody。
バージョン 0.3 以降、npm を root として実行することをお勧めします。これにより、npm は、
nobodyパッケージのビルドまたはテスト コマンドを実行する前に、ユーザー識別子をユーザーに変更できます。
すべてのパッケージ スクリプトは として実行されるnobodyため、この設定を上書きすることはできません。
これは、インストールされたモジュールへのインストール後の無許可の変更を防ぎ、インストールされたモジュールを信頼できるものにする安全機能です。
おそらく、ビジネス ロジックで意味のあるログの既定の場所を見つけるようにしてください。(CLI スイッチを介して) ユーザーが上書き可能なグローバルな書き込み可能なログを定義するの~/.yourTool/logは良いことですが、Node は展開されないため~、クロスプラットフォームのグローバル ログの宛先を見つけるのは少し難しいようです。
私はそれをしたいと思います:
- デフォルトで CWD にログイン
- ログパスは引数として指定できます (のように
go -l /path/to/log) - ログファイルが書き込み不可の場合のエラー