Skip to content

Instantly share code, notes, and snippets.

@abruzzi
Created February 23, 2014 01:22
Show Gist options
  • Save abruzzi/9165244 to your computer and use it in GitHub Desktop.
Save abruzzi/9165244 to your computer and use it in GitHub Desktop.
如何发布你的开源软件包(npm && gem)

NPM

  1. 创建npm账户,如果没有的话
  2. 定义package.json
  3. 本地开发测试
  4. npm pack 成本地宝测试
  5. npm publish .

命令npm pack可以将你的包打包成一个本地的tgz文件:

$ npm pack

比如你的package叫做foo,版本为1.1.0(定义在package.json中),则npm pack会生成foo-1.1.0.tgz。然后你可以新建一个文件夹,然后再新的文件夹中做测试:

$ mkdir test
$ cd test
$ npm install /path/to/foo-1.1.0.tgz

还可以通过tar -tf foo-1.1.0.tgz来查看包中的内容。经过测试之后,就可以发布了。

gem

  1. 创建rubygems用户,如果没有的话
  2. 创建foo.gemspec文件
  3. 本地开发测试
  4. gem build foo.gemspec打包测试
  5. gem push foo-1.1.0.gem 发布

首先保证你在http://rubygems.org有一个账号,比如juntao。这里有个trick的事情是,rubygems站点把用户名称为handle.

$ curl -u juntao https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
$ gem build foo.gemspec

同样,打出来的包需要在本地做一下测试:

$ mkdir test
$ cd test
$ gem install /path/to/foo-1.1.0.gem

测试之后,就可以发布了:

$ gem push foo-1.1.0.gem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment