Посторонний пакет при установке локально
Я пытался установить phantomjs, чтобы make test
Twitter Bootstrap. После того, как я установил его локально, то есть npm install phantomjs
, он сообщил, что пакет был посторонним.
├─┬ [email protected] extraneous
│ ├── [email protected]
...
npm ERR! extraneous: [email protected] /Users/admin/bootstrap/node_modules/phantomjs
npm ERR! not ok code 0
Однако, когда phantomjs был установлен глобально, т.е. npm install phantomjs -g
, он работал нормально, то есть о посторонней ошибке не сообщалось.
Вопросы:
- Это потому, что phantomjs не указан в файле package.json?
- Общий вопрос: можем ли мы иметь какой-либо пакет, например. phantomjs устанавливаются глобально, а также локально?
Ответы
Ответ 1
- Да. (Повторная установка с помощью
npm install
не будет устанавливать снова phantom.js.) (Btw.: npm install xxx --save
автоматически добавит xxx в package.json)
- Да. Локальные версии пакетов предпочтительнее глобальных. (Хотя вам нужна некоторая обработка пути для исполняемых файлов.)
Ответ 2
удалит все необязательные пакеты.
-
Чтобы установить элемент как локально, так и глобально, используйте:
sudo npm install -g phantomjs