内容简介:这样就把本地仓库和远程仓库关联起来了根据提示输入正确的npm用户名、密码、邮箱,添加完后会默认登录如果没什么问题,应该就发布成功了。可以去npm搜索发布的包: my-test-project,或者去自己的npm账号下查看package
- 建项目文件夹 先建一个工程文件夹或者拉取远程git上的已有项目
mkdir my-test-project 复制代码
- 初始化git 进入该文件夹,先初始化git(如果还没有的话),用于版本控制。在github(也可以其他)上新建一个与项目同名的远程仓库,并添加README.md文件,拷贝仓库地址,如:
git@github.com:username/test-pro.gitgit init git remote add origin git@github.com:usename/test-pro.git git push -u origin master 复制代码
这样就把本地仓库和远程仓库关联起来了
-
初始化npm
在项目根目录下即my-test-project目录下执行,
npm init
,然后根据提示填写相关信息,有些可以略过后续修改。 要注意的是name字段,有几个点要提醒:
- 这个是唯一的,不能和npm上所有已有的包重名,否则在publish的时候回会提示权限错误
npm ERR! You do not have permission to publish "my-test-project". Are you logged in as the correct user? : my-test-project 复制代码
- 另外命名也有规范,不能出现下划线、大写字母、空格等字符,可以有连字符(中划线)
- 先写好index.js文件,作为测试,在里面写几行简单代码,并export一个默认变量
♢ 发布
- 先登录npm用户,执行
npm adduser // or npm login Username: npm-user-name Password: Email: your-email 复制代码
根据提示输入正确的npm用户名、密码、邮箱,添加完后会默认登录
- 执行
npm publish 复制代码
如果没什么问题,应该就发布成功了。可以去npm搜索发布的包: my-test-project,或者去自己的npm账号下查看package
♢ 关于测试
-
publish前测试
在npm init 完成之后,就可以作为一个依赖包供其他模块引用。根据上面的例子,把my-test-project文件夹放入另外的测试工程node_modules文件夹下面,这样就可以跟引入其他模块一样,引入之前在index.js里面export的测试变量,如
// my-test-project 下的index.js const a = 'this is a test' export default a // or module.exports = a // 引用 import a from 'my-test-project' // or const a = require('my-test-project') 复制代码
建议先测试完,没有问题再publish
-
publish后测试是否有问题
publish后就更好办了,直接像安装其他模块一样通过npm i 命令安装,然后引用
◈ 更新已发布的包
更新包和发布包的命令是一样的,更新包只需修改package.json里面的version字段,也可以使用npm 自带的版本控制命令修改版本号,更新的步骤为:
- 修改版本号
- npm publish
♢ npm version
npm 提供官方提供了npm version来进行版本控制,其效果跟手动修改package.json里面的version字段是一样的,好处在于,可以在构建过程中用 npm version
命令自动修改,而且具有语义化即 Semantic versioning
.
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git] 复制代码
其语义为:
major:主版本号(大版本) minor:次版本号(小更新) patch:补丁号(补丁) premajor:预备主版本 preminor: 预备次版本 prepatch:预备补丁版本 prerelease:预发布版本 复制代码
如初始版本为 1.0.0,执行相关类型命令后,对应的语意为:
npm version patch // 1.0.1 表示小的bug修复 npm version minor // 1.1.0 表示新增一些小功能 npm version mmajor // 2.0.0 表示大的版本或大升级 npm version preminor // 1.1.0-0 后面多了个0,表示预发布 复制代码
可以在当前模块的package.json里面看到相应的版本变化
◈ 撤销发布
由于撤销发布会让把要撤销的包作为依赖的包不能正常工作,所以npm官方对包的撤销是有限制的:
- 不允许撤销发布已经超过24小时的包(unpublish is only allowed with versions published in the last 24 hours)
- 如果在24小时内确实要撤销,需要加--force参数
- 即使撤销了发布的包,再次发布的时候也不能与之前被撤销的包的名称/版本其中之一相同,因为这两者构成的唯一性已经被占用,官方并没有随着撤销而删除
♢ npm unpublish
撤销发布的命令为 npm unpublish
npm unpublish my-test-project // 报错 npm ERR! Refusing to delete entire project. npm ERR! Run with --force to do this. npm ERR! npm unpublish [<@scope>/]<pkg>[@<version>] // 加 --force参数重新撤销发布 npm unpublish my-test-project --force npm WARN using --force I sure hope you know what you are doing. - my-test-project 复制代码
♢ npm deprecate
npm unpublish
的推荐替代命令:
npm deprecate <pkg>[@<version>] <message> 复制代码
这个命令,并不会在npm上里撤销已有的包,但会在任何人尝试安装这个包的时候得到deprecated的警告,例如:
npm deprecate my-test-project 'this package is no longer maintained' 复制代码
参考:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 喧喧发布 2.4 版本,新增消息撤销、聊天输入状态显示以及应用分享等功能
- 如何撤销 Git 操作?
- git撤销与合并操作
- git的一些撤销操作
- 从撤销 rebase 谈谈 git 原理
- Git 的 4 个阶段的撤销更改
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
高性能Python
(美)戈雷利克、(英)欧日沃尔德 / 东南大学出版社 / 2015-2
你的Python代码也许运行正确,但是你需要运行得更快速。通过探讨隐藏在设计备选方案中的基础理论,戈雷利克和欧日沃尔德编著的《高性能Python》将帮助你更深入地理解Python的实现。你将了解如何定位性能瓶颈,从而显著提升高数据流量程序中的代码执行效率。 你该如何利用多核架构和集群?或者你该如何搭建一个可以自由伸缩而不会影响可靠性的系统?有经验的Python程序员将会学习到这类问题的具体解......一起来看看 《高性能Python》 这本书的介绍吧!