Používám framework, který běží npm a webpack automaticky adresář /usr/lib/node_modules mají 755 oprávnění, která vyžadují ke spuštění npm přes sudo . Rámec, který používám, neumožňuje přidat sudo k příkazu.
Nyní potřebuji nainstalovat balíčky npm v globální podobě (např. npm install webpack -g ) bez použití sudo .
Jaká oprávnění budou v pořádku pro /usr/lib/node_modules ? Pokud nastavím oprávnění 777, bude to v pořádku a bezpečné?
Děkuji!
Přijatá odpověď:
Nemusíte měnit oprávnění z npm abyste jej mohli používat bez sudo . K nastavení npm spustit bez sudo postupujte takto:
Možnost 1:
-
Získejte cestu k adresáři npm:
npm config get prefix -
Pokud máte
/usrpřejděte na možnost 2 jinak změňte vlastníka adresářů npm na váš:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Možnost 2:
-
Vytvořit adresář pro globální instalace:
mkdir ~/.npm-global -
Nakonfigurujte použití tohoto adresáře:
npm config set prefix '~/.npm-global' -
Otevřete nebo vytvořte
~/.profilea přidejte toto:export PATH=~/.npm-global/bin:$PATH -
Přidejte toto také do svého
~/.bashrcsoubor (volitelné):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 -
Obnovte soubory:
source ~/.bashrc -
Otestujte spuštěním:
npm install -g jshint
zdroj:
https://docs.npmjs.com/getting-started/fixing-npm-permissions
http://www.competa.com/blog/how-to-run-npm-without-sudo/