我尝试将组件库重新设计为monorepo。我为此选择了勒娜。 一切正常,直到我尝试将其连接到Travis CI。
我需要首先了解Travis上的一个技巧。 我将私有NPM注册表用于其中一个依赖项,我的lib也存储在同一位置。
因此出于开发目的,我将令牌存储在.npmrc文件中,并且在代码库中具有只读访问权限。 具有发布权的令牌保留在Travis中,当在那里运行作业时,我使用Travis令牌覆盖.npmrc内容。
在我切换到lerna之前,一切正常(对于NPM发布)。
现在,当我运行lerna publish时,我会看到一条消息:
lerna ERR! EUNCOMMIT Working tree has uncommitted changes,
please commit or remove the following changes before continuing:
lerna ERR! EUNCOMMIT M .npmrc
我试图将.npmrc添加到.gitignore,但这是不可撤消的。我需要修改此文件,我不想将其保留在回购中。 该如何解决?
谢谢。
答案 0 :(得分:1)
您可以以illustrated by this Gist的身份提交Travis版本。
您只需要小心,而不要创建Travis CI叉子炸弹(!):请参见travis-ci/travis-ci
issue 1701。
另一种方法是在"prepare": "git update-index skip-worktree -- .npmrc",
中添加一个package.json
脚本步骤,以强制文件忽略其修改。
See here。