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 есть возможность устанавливать пакеты.