要するに...
まず第一に、なぜnpmはそれが非ルートとしてのみ実行されるべきであると示唆するのですか?私は、他のすべてのパッケージマネージャー( apt
、、、)がsudoを要求するのは間違っていると信じています。yum
gem
pacman
次に、私が彼らの提案に従うと(そしてnpm install
非ルートとして実行すると)、それは機能しません(非ルートには/ usr / local / libへのアクセス許可がないため)。彼らの提案に従うにはどうすればよいですか?それは私にはchown -R $USER /usr/local/lib
非常に悪い考えのように思われるので、私は行きません。
完全な説明...
(READMEの説明)を介してnpmをインストールしました。curl http://npmjs.org/install.sh | sudo sh
実行するsudo npm install mongoose
と、npmはrootとして実行しないように指示します。
npm ERR! sudon't!
npm ERR! sudon't! Running npm as root is not recommended!
npm ERR! sudon't! Seriously, don't do this!
npm ERR! sudon't!
しかし、npm install mongoose
sudoを使用せずに実行すると、次のようになります。
npm info it worked if it ends with ok
npm info using npm@0.2.17
npm info using node@v0.4.0-pre
npm info fetch http://registry.npmjs.org/mongoose/-/mongoose-1.0.7.tgz
npm info calculating sha1 /tmp/npm-1297199132405/1297199132406-0.7044695958029479/tmp.tgz
npm info shasum b3573930a22066fbf3ab745a79329d5eae75b8ae
npm ERR! Could not create /usr/local/lib/node/.npm/.cache/mongoose/1.0.7/package.tgz
npm ERR! Failed creating the tarball.
npm ERR! This is very rare. Perhaps the 'gzip' or 'tar' configs
npm ERR! are set improperly?
npm ERR!
npm ERR! couldn't pack /tmp/npm-1297199132405/1297199132406-0.7044695958029479/contents/package to /usr/local/lib/node/.npm/.cache/mongoose/1.0.7/package.tgz
npm ERR! Error installing mongoose@1.0.7
npm ERR! Error: EACCES, Permission denied '/usr/local/lib/node/.npm/.cache/mongoose'
npm ERR! There appear to be some permission problems
npm ERR! See the section on 'Permission Errors' at
npm ERR! http://github.com/isaacs/npm#readme
npm ERR! This will get better in the future, I promise.
npm not ok
したがって、sudoを使用するべきではないことを示しており、彼らの提案に従えば機能しません。
これが上記の私の最初の質問につながります。