npm init, 'npm ERR! Поле имени должно быть строкой.'

Всякий раз, когда я пытаюсь запустить npm init и просто принять значения по умолчанию в базовом проекте, я получаю эту ошибку:

npm ERR! Darwin 15.4.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "init"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6

npm ERR! name field must be a string.
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/taylorhuston/Code/projects/Site_49thFloor/npm-debug.log

Я работаю на OSX. Вот все содержимое npm-debug.log

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'init' ]
2 info using npm@3.3.6
3 info using node@v5.0.0
4 verbose config Skipping project config: /Users/taylorhuston/.npmrc. (matches userconfig)
5 silly package data undefined
6 info init written successfully
7 verbose stack Error: name field must be a string.
7 verbose stack     at Object.module.exports.fixNameField (/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/fixer.js:206:13)
7 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js:32:38
7 verbose stack     at Array.forEach (native)
7 verbose stack     at normalize (/usr/local/lib/node_modules/npm/node_modules/normalize-package-data/lib/normalize.js:31:15)
7 verbose stack     at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:338:5)
7 verbose stack     at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:113:5)
7 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:300:12
7 verbose stack     at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:76:16
7 verbose stack     at tryToString (fs.js:414:3)
7 verbose stack     at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:401:12)
8 verbose cwd /Users/taylorhuston/Code/projects/Site_49thFloor
9 error Darwin 15.4.0
10 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "init"
11 error node v5.0.0
12 error npm  v3.3.6
13 error name field must be a string.
14 error If you need help, you may report this error at:
14 error     <https://github.com/npm/npm/issues>
15 verbose exit [ 1, true ]

3 ответа

Я считаю, что "имя" созданного вами проекта узла находится в формате "MyProject"(поле имени в package.son). Это должно быть в маленьком случае, как "myproject" или "my-project". Пожалуйста, обратитесь https://docs.npmjs.com/files/package.json

Получил ту же неясную ошибку, делая npm install vue vue-router --save на новом проекте Laravel 5.3 (пытаясь следовать этому уроку).

Глядя на package.json файл (спасибо @PramodTK за подсказку), name собственность просто отсутствовала. Итак, я добавил:

{
  "name": "my-project-name",
  ...

в начале package.json файл, то мой npm install Команда сработала правильно.

У меня было такое:

      "lint-staged":{"src/**/*.{js,jsx,json,css}": ["prettier --single-quote --write","git add"]}

в моем файле package.json. Поэтому вам нужно удалить такие символы [], если в вашем файле package.json есть возможность устанавливать пакеты.

Другие вопросы по тегам