npm windows install глобально приводит к ошибке npm ERR! посторонний



Answers

1 и 2: это означает, что у вас нет jshint, указанного в файле package.json вашего проекта, но он установлен на глобальном уровне. Так что это не большая проблема.

3: Чтобы избежать этой посторонней ошибки, вы можете запустить или повторно запустить установку с помощью опции --save . Это автоматически обновит файл package.json:

npm install -g jshint --save

Или вам нужно вручную обновить файл package.json с помощью "dependencies": {...}

Question

Я новичок в хрюканье и нрм. Поэтому я пытаюсь создать «пример поваренной книги» на сайте « http://tech.pro/tutorial/1190/package-managers-an-introductory-guide-for-the-uninitiated-front-end-developer#front_end_developers », , Теперь вам не обязательно смотреть туда, но я подумал, что это может быть хорошо, чтобы поделиться сайтом. Пока все хорошо, пока дело доходит до глобальной установки. (Хорошо, некоторые ошибки я должен был выяснить, но теперь у меня работает npm).

Когда дело доходит до точки, пытающейся установить что-то глобально, я застреваю.

То, что я сделал до сих пор, для тестирования глобальной установки пакета:

  1. Созданный тестовый каталог grunttest

  2. Внутри этого каталога:

    npm install -g jshint

Результат я вижу:

 npm http GET https://registry.npmjs.org/jshint
 npm http 304 https://registry.npmjs.org/jshint
 ...
 npm http 304 https://registry.npmjs.org/string_decoder
 C:\Program Files\nodejs\node_modules\npm\jshint -> C:\Program Files\nodejs\node_modules\npm\node_modules\jshinnt
 jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint
 ├── console-browserify@0.1.6
 ├── exit@0.1.2
 ├── underscore@1.4.4
 ├── shelljs@0.1.4
 ├── minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0)
 ├── cli@0.4.5 (glob@3.2.9)
 └── htmlparser2@3.3.0 (domelementtype@1.1.1, domutils@1.1.6, domhandler@2.1.0, readable-stream@1.0.26-2)

Я просто понимаю, что 304, что должно быть хорошо, из-за просто говорит, что ресурс не был изменен с момента последней установки (за несколько минут до этого).

Проверка наличия jshint с:

`npm -global list`

Вывод:

npm@1.4.3 C:\Program Files\nodejs\node_modules\npm
├── abbrev@1.0.4
├── ansi@0.2.1
├─...
├──
├── graceful-fs@2.0.2
├── inherits@2.0.1
├── ini@1.1.0
├─┬ init-package-json@0.0.14
│ └── promzard@0.2.1
├─┬ jshint@2.4.4 extraneous
│ ├─┬ cli@0.4.5
│ │ └─┬ glob@3.2.9
│ │   └── inherits@2.0.1
│ ├── console-browserify@0.1.6
│ ├── exit@0.1.2
│ ├─┬ htmlparser2@3.3.0
│ │ ├── domelementtype@1.1.1
│ │ ├── domhandler@2.1.0
│ │ ├── domutils@1.1.6
│ │ └─┬ readable-stream@1.0.26-2
│ │   └─... ├── text-table@0.2.0
├── uid-number@0.0.3
└── which@1.0.5

**npm ERR! extraneous: jshint@2.4.4 C:\Program Files\nodejs\node_modules\npm\node_modules\jshint npm**

Вопросов:

  1. Почему я получаю npm ERR! посторонний ...?
  2. Что это значит?
  3. Как я могу решить эту проблему?

Информация:

Я нахожусь на Windows-машине Windows 7, используя cygwin в качестве оболочки. попытка просто jshint ( jshint someTestfile.js ), конечно, не работает.

Заранее спасибо, Meru




В моем случае это произошло потому, что имя пакета в файле package.json не совпадает с именем параметра, указанным в package.json зависимого модуля. Моя ошибка, так как это новый модуль, который я создал, но трудно определить, так как npm не даст никаких подсказок.

Это произошло при использовании dependencies: { "my-module": "file:local-modules/mymodule" } синтаксис dependencies: { "my-module": "file:local-modules/mymodule" } с опечаткой в ​​имени «my-module».




Я решил это, объединив все ответы. Сначала я установил пакет по всему миру.

npm install -g packagename --save

Поскольку npm установил эту упаковку так же глобально, но не добавил ее в свой локальный файл package.json, мне пришлось что-то сделать.

Я выбираю решение для удаления локального, а затем устанавливаю его по всему миру.

npm uninstall packagename
npm install -g packagename

Таким образом у меня больше нет предупреждений и не испортить файл package.json.




Related