我正在使用Gem Fury作为我们的一些私人套餐.我将yarn注册表设置为使用它们的代理用于public和我们的私有节点模块:
yarn config set registry "https://npm-proxy.fury.io/$GEMFURY_TOKEN/username"
Run Code Online (Sandbox Code Playgroud)
GEMFURY_TOKEN是的.bash.yarn config get registry生产:
https://npm-proxy.fury.io/$(GEMFURY_TOKEN)/username
Run Code Online (Sandbox Code Playgroud)
当我们运行时yarn,该yarn.lock文件将生成以下内容:
private-module@0.1.0:
version "0.1.0"
resolved "https://npm.fury.io/username/private-module/-/0.1.0.tgz?auth=<GEMFURY TOKEN>"
dependencies:
ember-cli-babel "^5.1.6"
private-module-2@0.1.4:
version "0.1.4"
resolved "https://npm.fury.io/username/private-module-2/-/0.1.4.tgz?auth=<GEMFURY TOKEN>"
dependencies:
ember-cli-babel "^5.1.6"
ember-inflector "^1.9.6"
Run Code Online (Sandbox Code Playgroud)
我不想在git存储库中使用私有令牌.有没有办法可以排除令牌yarn.lock在生成时被添加到文件中?
我有几个Python包成功上传到GemFury使用
git push fury master
Run Code Online (Sandbox Code Playgroud)
设置遥控器后.
现在我想在其他软件包的构建中使用这些GemFury托管软件包(一些在GemFury上,有些则不在).我通过调查如何更新我的setup.py以适应这个新来源来开始这样做:
from setuptools import setup
setup(name='my_package',
version='0.1',
description='my_package package',
url='https://bitbucket.org/me/my_package',
packages=['my_package'],
install_requires=[
'package_on_gemfury==0.1',
'pandas==0.19.0',
'numpy==1.11.2',
],
dependency_links=[
'https://pypi.fury.io/[KEY]/me/'
# 'https://pypi.fury.io/[KEY]/me/#egg=package_on_gemfury-0.1'
# 'https://pypi.fury.io/me/package_on_gemfury?auth=[KEY]'
],
test_suite='nose2.collector.collector',
tests_require=['nose2'],
include_package_data=True,
zip_safe=False)
Run Code Online (Sandbox Code Playgroud)
然后我运行这个:
sudo pip install .
Run Code Online (Sandbox Code Playgroud)
如果my_package是在本地安装的,它可以工作,但如果没有在本地安装,它将不会从GemFury中提取.
正如您所看到的,我尝试了几种不同的方法来使依赖关系链接正常工作,但没有任何效果.我收到以下错误:
"找不到满足要求的版本package_on_gemfury == 0.1(来自my_package == 0.1)(来自版本:)没有找到package_on_gemfury == 0.1(来自my_package == 0.1)的匹配分布"
有任何想法吗?
我有一个私有的 Gemfury 注册表,我要将 npm 包发布到它。
我想在我的包中添加分发标签(如下所述:https : //docs.npmjs.com/cli/dist-tag)。
我的 npm 配置注册表设置为代理,允许我从我的私有注册表和公共 npm 注册表进行安装。我也可以正确发布到我的私人注册表。
当我运行npm view我的私人包时,我能够看到我期望的包的所有信息。
当我尝试使用任何npm dist-tag命令时,我遇到了问题。我只是404 Not Found从 npm得到一个错误。
我跑:
npm dist-tag ls my-private-package-name
Run Code Online (Sandbox Code Playgroud)
并收到:
npm ERR! dist-tag ls Couldn't get dist-tag data for my-private-package-name
npm ERR! Darwin 16.4.0
npm ERR! argv "/Users/me/.nvm/versions/node/v4.2.6/bin/node" "/Users/me/.nvm/versions/node/v4.2.6/bin/npm" "dist-tag" "ls" "my-private-package-name"
npm ERR! node v4.2.6
npm ERR! npm v2.14.12
npm ERR! code E404
npm ERR! 404 Not Found : MyPriVaTeGemfuryToKEn
npm ERR! 404
npm ERR! …Run Code Online (Sandbox Code Playgroud) 我们正在使用 gemfury 来管理我们的内部 python 包版本。我现在面临的问题是 gemfury 不允许推送/覆盖相同的版本,这在处理生产构建时在某种程度上是很好的。在开发/质量保证构建的情况下,这很难管理。我们在发布生产版本时会增加版本并发布。
是否有一个标志可用于强制推送/覆盖包版本?例如。如果有人将一些更改推送到我的 QA 分支,我会构建该分支并发布新版本,但我想始终将其称为“qa”版本。因此,我总是希望“qa”版本指向我的 QA 版本的最新版本。我有一份詹金斯的工作来做这件事。
我确实需要一个 api/flag 来覆盖现有版本,以实现我在自动化开发和发布过程方面想要实现的目标。如果有类似的东西,请告诉我。
gem-fury ×4
npm ×2
build ×1
dependencies ×1
javascript ×1
pip ×1
publish ×1
python ×1
setup.py ×1
yarnpkg ×1