Açıklandığı gibi, yerel olarak değil de küresel olarak bir npm paketi kurmaya çalıştığınız anlaşılıyor man npm install
:
-G veya --global argüman küresel ziyade lokal paketini yüklemeyi npm neden olacaktır.
Genellikle, bir npm projesi kurarken (sahip olabileceğiniz diğerlerinin yanı sıra), hata ayıklama günlüğünüz olarak Node.js global modüllerine (/ usr / local / lib / node_modules) paketleri yüklemek iyi bir fikir değildir. önerildi.
Kullanmak yerine , paketi otomatik olarak dosyanız için bir bağımlılık olarak kaydedecek olan -g
kullanın :--save
package.json
Bunun gibi:
$ npm install express-generator --save
$ cat package.json
{
"name": "first_app_generator",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "ivanleoncz",
"license": "MIT",
"dependencies": {
"express-generator": "^4.16.0"
}
}
Ancak, diğer yanıtlarda belirtildiği gibi, kullanacaksanız -g
, gerçekleştirirken kullanmanız gerekir sudo
( kullanıcı sudo ayrıcalıklarına sahipse: see / etc / sudoers ) npm install express-generator -g
, ancak aslında izin sorunlarına neden olan iyi bir fikir değildir.
FARKINA VARMAK
Komut dosyasının sistem yolunda kullanılabilir olması için seçenekle express-generator
birlikte yükleme talimatları vardır , ancak npm projenizde bulunan yerel olarak yüklenmiş komut dosyasını da kullanabilirsiniz :-g
express-cli.js
node_modules
$ ./node_modules/express-generator/bin/express-cli.js --view=pug myapp
/ Usr / bin / env: 'düğüm' gibi bir mesaj varsa : Böyle bir dosya veya dizin görünmezse, yükleyin nodejs-legacy
(Debian / Ubuntu)
Eğer sonuçlardan emin değilseniz, IMHO -g
(kullanmak da sudo
) hic sunt dracones gibidir .
Daha fazla bilgi için: