2

每当我尝试运行 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 ]
4

3 回答 3

2

我相信您创建的节点项目的“名称”格式为“MyProject”(package.son 中的名称字段)。它应该是像“myproject”或“my-project”这样的小案例。请参考 https://docs.npmjs.com/files/package.json

于 2016-04-20T10:54:27.710 回答
1

npm install vue vue-router --save在一个新的Laravel 5.3项目中遇到同样的模糊错误(尝试遵循本教程)。

查看package.json文件(感谢@PramodTK 的提示),该name属性完全丢失了。所以我添加了:

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

package.json文件的开头,然后我的npm install命令正常工作。

于 2016-09-09T13:22:31.837 回答
0

我有这个:

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

在我的 package.json 文件中。因此,如果您的 package.json 文件中有这样的符号 [],您需要删除这些符号才能安装软件包。

于 2021-05-19T23:13:29.067 回答