我正在尝试创建npm vue component library
。我已经完成了所有的步骤,但停留在npm publish
。
请看下面的错误截图,我无法找到一个解决方案后,谷歌尝试了一个多小时(错误信息是不是那么准确恕我直言,也许我无法赶上它)。
用于参考package.json
{
"name": "@satyam/vue-components",
"version": "0.1.0",
"main": "./dist/satyam.common.js",
"files": [
"dist"
],
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"build-library": "vue-cli-service build --target lib --name satyam ./src/components/index.js",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.6.4",
"vue": "^2.6.11"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.3.0",
"@vue/cli-plugin-eslint": "~4.3.0",
"@vue/cli-plugin-unit-jest": "~4.3.0",
"@vue/cli-service": "~4.3.0",
"@vue/eslint-config-standard": "^5.1.2",
"@vue/test-utils": "1.0.0-beta.31",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2",
"node-sass": "^4.12.0",
"sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.11"
}
}
运行npm audit
之后
任何帮助都将不胜感激:)
8条答案
按热度按时间nkoocmlb1#
更新:新用户需要首先确认其帐户
所以经过相当多的研究和挖掘,我发现了这里真实的的问题。
它可能被记录在某个很深的地方或在一个轻的字体,但我完全错过了找到它。
软件包名称应该跟在
npm username
后面。在我的
package.json
中,name属性是@satyam/vue-components
,而它应该是@satyamninja/vue-components
,就这样,我成功地发布了这个包。pu82cl6c2#
如果您是新用户,请先确认您的帐户!
hc2pp10m3#
这篇文章帮助我克服了403错误,但是,在通过他们发送的电子邮件链接确认我的帐户并登录到NPM后,我又尝试了一次,然后我得到了以下错误:
402需要付款- PUT https://registry.npmjs.org/@jcarbajal79%2fsimplelib3-您必须注册私人软件包。
如果你有同样的问题是因为库被发布为私有,我检查了我的package.json并测试了以下内容:
无属性:“private”:“...”-不工作属性设置“private”:“true”-不工作属性设置“private”:“false”-不工作
原来你必须从命令行将其发布为public:
%〉npm发布--访问=公共。-工作!
pbossiut4#
听起来你是一个新用户。你需要确认你的帐户。应该已经从npm网站收到电子邮件确认。
ohtdti5x5#
我得到这个错误一次,我想出了如何修复它后,一些搜索。你得到
403 forbidden error
,因为可能有另一个包发布在NPM与相同的名称,你试图发布,你将不得不改变为另一个名称。要做到这一点,你可以去你的package.json
和编辑包的名称。jv4diomz6#
如果上面提到的答案对任何人都不起作用,那么你需要检查你的电子邮件是否通过了npm帐户的验证,如果没有通过验证,只需进行验证,你就可以发布没有任何问题。
pu82cl6c7#
这也是因为您在package.json的name属性中为组件指定的名称已经存在于npm中,我建议为组件指定一个不存在的不同名称。
6ojccjat8#
我遇到了同样的错误,可以通过从命令行登录www.example.com来解决npmjs.com,即
运行npm publish成功了,我可以在我的帐户中看到我的包。