首页 > 解决方案 > verdaccio 发布新包

问题描述

OS OpenSuse 15.2 我无法将新包发布到本地 npm 代理

Verdaccio 版本 5.1.0

  1. 我已经从 npm 安装了 verdaccio

  2. 添加了用户 verdaccio : id verdaccio uid=1001(verdaccio) gid=100(users) группы=100(users)

  3. 添加到配置存储路径参数:

       storage: /npm/storage
       # path to a directory with plugins to include
       plugins: /npm/plugins
    
    
  4. 运行

       warn --- config file  - /home/verdaccio/.config/verdaccio/config.yaml
       warn --- Plugin successfully loaded: verdaccio-htpasswd
       warn --- Plugin successfully loaded: verdaccio-audit
       warn --- http address - http://172.16.4.76:1234/ - verdaccio/5.1.0
    
    
  5. 添加 npm 用户并设置 npm manager 注册本地代理

    Username: verdaccio
    Password: 
    Email: (this IS public) 
    Logged in as verdaccio on http://172.16.4.76:1234/.
    
    

然后我 cd 到 js 模块并执行以下操作:

```# npm publish --registry http://172.16.4.76:1234/

出现错误:(npm)

```npm notice 
npm notice   easyrabbit@1.0.0
npm notice === Tarball Contents === 
npm notice 418B  package.json        
npm notice 1B    README.md           
npm notice 1.5kB class.easyrabbit.mjs
npm notice === Tarball Details === 
npm notice name:          easyrabbit                              
npm notice version:       1.0.0                                   
npm notice package size:  938 B                                   
npm notice unpacked size: 1.9 kB                                  
npm notice shasum:        9f758fe3b7076efb131482242bccab92e6d12218
npm notice integrity:     sha512-rFP+zMQlRFZhB[...]MQmtD0g1Y6u9Q==
npm notice total files:   3                                       
npm notice 
npm ERR! code E404
npm ERR! 404 Not Found - PUT http://172.16.4.76:1234/easyrabbit - no such package available
npm ERR! 404 
npm ERR! 404  'easyrabbit@1.0.0' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-06-05T11_27_47_111Z-debug.log

在 verdaccio 方面:

``` 
   http --- 172.16.4.76 requested 'GET /npm'
   (node:12088) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
   info --- auth/allow_action: access granted to: undefined
   info --- allowed access for npm
   info --- making request: 'GET https://registry.npmjs.org/npm'
   http --- 200, req: 'GET https://registry.npmjs.org/npm' (streaming)
   http --- 200, req: 'GET https://registry.npmjs.org/npm', bytes: 0/15211570
   http --- 200, user: verdaccio(172.16.4.76), req: 'GET /npm', bytes: 0/4171881
   http --- 172.16.4.76 requested 'GET /npm'
   info --- auth/allow_action: access granted to: undefined
   info --- allowed access for npm
   http --- 172.16.4.76 requested 'GET /-/whoami'
   http --- 304, user: verdaccio(172.16.4.76), req: 'GET /-/whoami', bytes: 0/0
   http --- 200, user: verdaccio(172.16.4.76), req: 'GET /npm', bytes: 0/4171881
   http --- 172.16.4.76 requested 'POST /-/v1/login'
   http --- 404, user: verdaccio(172.16.4.76), req: 'POST /-/v1/login', bytes: 18/150
   http --- 172.16.4.76 requested 'PUT /-/user/org.couchdb.user:verdaccio'
   http --- 201, user: verdaccio(172.16.4.76), req: 'PUT 
   /-/user/org.couchdb.user:verdaccio', bytes: 134/110
   http --- 192.168.3.105 requested 'GET /'
   http --- 304, user: null(192.168.3.105), req: 'GET /', bytes: 0/0
   http --- 192.168.3.105 requested 'GET /-/verdaccio/packages'
   http --- 304, user: null(192.168.3.105), req: 'GET /-/verdaccio/packages', bytes: 0/0
   http --- 172.16.4.76 requested 'PUT /easyrabbit'
   info --- auth/allow_action: access granted to: undefined
   info --- verdaccio is allowed publish for easyrabbit
   info --- auth/allow_action: access granted to: undefined
   info --- verdaccio allowed unpublish for easyrabbit
   http --- 404, user: verdaccio(172.16.4.76), req: 'PUT /easyrabbit', error: no such 
   package available

我错了什么?

标签: npm-publishverdaccio

解决方案


两天前我遇到了这个错误。我尝试了一切,甚至更新到 verdaccio 5.1。

我的解决方案:在我的 package.json 中,有一个字段“已弃用”设置为 false。我不知道它是如何到达那里的,但是一旦我将其删除,我就可以再次发布。检查您的 package.json 并删除一些您不需要的字段,也许您会很幸运。服务器上的 Verdaccio 错误消息未提及任何有关格式错误的 package.json 的内容。


推荐阅读