使用 Docker 搭建私有NPM仓库

关于 Docker 的使用不在本文之中,请自行参考其他文档。

经过测试, keyvanfatehi/sinopia 可用。

  1. 将 docker image 拉下来
1
docker pull keyvanfatehi/sinopia
  1. keyvanfatehi/sinopia 跑起来
1
docker run --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia

docker运行在代码服务器上,此时通过 http://192.168.12.1:4873 可以访问私有NPM 仓库网页。

发布 JavaScript 类库

添加示例类库项目 Hello

1
2
3
4
mkdir Hello
cd Hello
yarn init -y # npm init -y
touch index.js

在 index.js 内添加如下内容

1
2
3
4
5
let greeting = function(name) {
return 'Hello ' + name;
}

module.exports = greeting;

这份代码导出了一个函数,已经可以发布和被依赖了。

  1. npm adduser

初次使用这个私有仓库需要添加用户

1
npm adduser --registry http://192.168.12.1:4873
  1. npm publish

再把上面的代码发布上去

1
npm publish . --registry http://192.168.12.1:4873

NPM 有自己的版本和发布策略,可以使用以下命令查看帮助文档

  • npm help version
  • npm help publish

发布可能因为版本问题失败,追加谓词 –force 可强制发布但并非是常规操作。

发布后的管理页面图示

引用已发布的类库

添加示例业务项目 myDemo

1
2
3
4
mkdir myDemo
cd myDemo
yarn init -y # npm init -y
touch index.js

引用 Hello

1
yarn add Hello --dev --registry http://192.168.12.1:4873

在 index.js 内添加如下内容

1
2
3
4
5
6
const Hello = require('Hello');

(function() {
let greeting = Hello('Rattz');
console.log(greeting);
})();

运行起来

1
2
node index.js
Hello Rattz

至此私有NPM仓库搭建、类库发布、依赖引用的部分已经完成。

本文标题:使用 Docker 搭建私有NPM仓库

文章作者:kinboy

发布时间:2018年08月03日 - 00:00:00

最后更新:2019年07月15日 - 18:05:10

原始链接:http://kinboyw.github.io/2018/08/03/sinopia-private-npm-registry/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

------ Passage Ending ------