Схоже, ви намагалися встановити пакет npm глобально, а не локально, як man npm install
описано:
Аргумент -g або --global призведе до встановлення пакету npm глобально, а не локально.
Як правило, коли ви налаштовуєте npm-проект (серед багатьох інших, що ви могли мати), не годиться встановлювати пакети на глобальні модулі Node.js (/ usr / local / lib / node_modules), як ваш журнал налагодження запропонував.
Замість використання -g
використовуйте --save
, що автоматично збереже пакет як залежність від вашого package.json
файлу:
Подобається це:
$ 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"
}
}
Але як і інші згадані відповіді, якщо ви збираєтесь використовувати -g
, ви повинні використовувати sudo
( якщо ваш користувач має привілеї sudo: див. / Etc / sudoers ) під час виконання npm install express-generator -g
, але, дійсно, це не дуже гарна ідея, можливо, це може спричинити проблеми з дозволом.
ПОВІДОМЛЕННЯ
Існують інструкції по встановленню express-generator
з -g
опцією, щоб сценарій був express-cli.js
доступний на системному шляху, але ви можете також використовувати локально встановлений скрипт, розташований у node_modules
вашому проекті npm:
$ ./node_modules/express-generator/bin/express-cli.js --view=pug myapp
Якщо повідомлення на зразок / usr / bin / env: 'node': Не відображається такий файл чи каталог , встановіть nodejs-legacy
(Debian / Ubuntu)
ІМХО, використання -g
(також використання sudo
), схоже на дракони HIC SANT , які не , якщо ви не впевнені в наслідках.
Для подальшої інформації: