来自Node我曾经安装特定版本的供应商lib的环境到项目文件夹(node_modules),告诉从控制台npm安装该版本的lib,package.json甚至直接从控制台安装,如下所示:
$ npm install express@4.0.0
Run Code Online (Sandbox Code Playgroud)
然后我习惯在我的项目中导入该包的那个版本:
var express = require('express');
Run Code Online (Sandbox Code Playgroud)
现在,我想做同样的事情go.我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式$GOPATH,如何导入一个版本而不是另一个版本?
我会做这样的事情:
$ go get github.com/wilk/uuid@0.0.1
$ go get github.com/wilk/uuid@0.0.2
Run Code Online (Sandbox Code Playgroud)
但是,在导入过程中如何才能有所作为呢?
如何鲍尔不同于JSPM?Bower能否提供有关SystemJS通用模块加载器的 jspm功能?
Emacs 24 看起来会有一个包管理器.Vim有哪些包管理选项?
尽管存在数千个Emacs Lisp库,但GNU Emacs在版本24.1之前没有(内部)包管理器.
我想大多数用户会同意,目前查找,安装并特别是保持最新的Emacs Lisp库是相当不方便的.
使生活更轻松的页面
对于早于24.1的Emacs版本:
一些包管理员
并不是没有人尝试过.(当问到这个问题时,其中一些不存在.)
UPDATE - package.el包含在GNU Emacs中,从版本24.1开始
包已包含在Emacs主干中.epkg还没有准备好,目前还没有.至少install-elisp,插件和use-package似乎不再被主动维护.
我创建了一个包含所有这些包管理器作为子模块的git 存储库.
一些可能有用的实用程序
包管理器可以使用这些实用程序和/或它们可以用于维护包的镜像.
是否有像Java的easy_install这样的Java 包管理器?
我正在寻找一个可以从命令行而不是IDE中使用的解决方案.
我使用sdkman来安装groovy,这很好.现在安装的包裹在哪里?我需要它的路径.我在Ubuntu 14.04上.
我试图理解这一部分:http://getcomposer.org/doc/02-libraries.md#lock-file
此锁定文件不会对依赖它的其他项目产生任何影响.它只对主项目产生影响"
这是否意味着如果项目P依赖于库A,而库A依赖于库B v1.3,项目P将不关心库B的版本,并且可能会安装B 1.4而不是?那有什么意义呢?
或者它是否意味着相反,正如人们对依赖管理者的期望?
我的目标是分发一个Python包,其中包含其他几个广泛使用的Python包作为依赖项.我的包依赖于编写良好的Pypi索引包,如pandas,scipy和numpy,并在setup.py中指定需要某些版本或更高版本,例如"numpy> = 1.5".
我发现,对于那些不是 Python打包专家的Unix精明用户(即使他们知道如何编写Python)来安装像我这样的软件包,即使在使用易于使用的软件包管理器时,我也感到非常沮丧和几乎不可能.我想知道是否有一个替代这个痛苦的过程,有人可以提供,或者如果我的经验只是反映了Python包装和分发的当前状态非常困难.
假设用户将您的包下载到他们的系统上.大多数人会试图"天真地"安装它,使用类似的东西:
$ python setup.py install
Run Code Online (Sandbox Code Playgroud)
因为如果你有关于安装Python软件包的google说明,通常会出现这种情况.这对绝大多数用户来说都是失败的,因为大多数用户的Unix/Linux服务器上没有超级用户访问权限.通过更多搜索,他们将发现"--prefix"选项并尝试:
$ python setup.py install --prefix=/some/local/dir
Run Code Online (Sandbox Code Playgroud)
由于用户不知道Python包装的复杂性,他们会选择一个任意目录作为参数--prefix,例如"~/software/mypackage/".它不会是所有其他Python包所在的干净策划目录,因为大多数用户都不知道这些细节.如果他们安装另一个包"myotherpackage",他们可能会通过它"~/software/myotherpackage",你可以想象这将导致令人沮丧的黑客攻击PYTHONPATH和其他并发症.
继续安装过程,一旦用户尝试使用该包,调用"setup.py install"with "--prefix"也将失败,即使它似乎已正确安装,因为其中一个依赖项可能会丢失(例如pandas,scipy或numpy)和一个包经理没有使用.他们会尝试单独安装这些软件包.即使成功,包也将不可避免地PYTHONPATH归因于给出的非标准目录,"--prefix"并且患者用户将涉及修改它们PYTHONPATH以使得依赖性可见.
在这个阶段,Python精明的朋友可能会告诉用户他们应该使用像"easy_install"主流管理器这样的软件包管理器来安装软件并且需要处理依赖项.安装后"easy_install",这可能很难,他们会尝试:
$ easy_install setup.py
Run Code Online (Sandbox Code Playgroud)
这也将失败,因为用户通常无权在生产Unix服务器上全局安装软件.通过阅读更多,他们将了解该"--user"选项,并尝试:
$ easy_install setup.py --user
Run Code Online (Sandbox Code Playgroud)
他们会得到错误:
usage: easy_install [options] requirement_or_url ...
or: easy_install --help
error: option --user not recognized
Run Code Online (Sandbox Code Playgroud)
他们将非常困惑为什么他们easy_install没有--user选项,因为网上有明确的网页描述选项.他们可能会尝试将其升级easy_install到最新版本并发现它仍然失败.
如果他们继续并咨询Python包装专家,他们会发现有两个版本,两个版本easy_install都被命名为" …
我是npm的新手,并不真正了解应该依赖于devDependencies的内容.我知道,对于测试库,他们应该进入dev,但对于像babel和webpack这样的东西呢?他们是不是也应该在dev中,因为他们只是用来将es6和JSX转换成vanilla JS?我的理解是,当你部署到heroku时,它已经使用必要的库进行转换,所以不需要在生产中托管它们吗?
"dependencies": {
"babel-core": "^6.7.7",
"babel-eslint": "^6.0.4",
"babel-loader": "^6.2.4",
"babel-plugin-react-transform": "^2.0.2",
"babel-plugin-transform-object-rest-spread": "^6.6.5",
"babel-plugin-transform-react-display-name": "^6.5.0",
"babel-polyfill": "^6.7.4",
"babel-preset-es2015": "^6.6.0",
"babel-preset-react": "^6.5.0",
"bootstrap": "^3.3.7",
"css-loader": "^0.23.1",
"es6-promise": "^3.2.1",
"eslint": "^2.9.0",
"eslint-plugin-babel": "^3.2.0",
"eslint-plugin-react": "^5.0.1",
"express": "^4.13.4",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"lodash": "^4.15.0",
"react": "^15.0.2",
"react-addons-css-transition-group": "^15.0.2",
"react-dom": "^15.0.2",
"react-redux": "^4.4.5",
"react-transform-catch-errors": "^1.0.2",
"react-transform-hmr": "^1.0.4",
"redbox-react": "^1.2.3",
"redux": "^3.5.2",
"redux-form": "^6.1.0",
"rimraf": "^2.5.2",
"style-loader": "^0.13.1",
"webpack-dev-middleware": "^1.6.1",
"webpack-hot-middleware": "^2.10.0"
},
"devDependencies": {
"babel-register": "^6.9.0",
"chai": "^3.5.0",
"mocha": "^2.5.3",
"sinon": "^1.17.4",
"webpack": …Run Code Online (Sandbox Code Playgroud) 我试图更新brew:
sudo brew update
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
错误:合并将覆盖对以下文件的本地更改:
列出了很多文件
错误:执行git pull http://github.com/mxcl/homebrew.git master时失败
什么出了什么问题?
package-managers ×10
packages ×3
package ×2
bower ×1
composer-php ×1
dependencies ×1
distribute ×1
emacs ×1
go ×1
homebrew ×1
java ×1
javascript ×1
jspm ×1
macos ×1
npm ×1
php ×1
pip ×1
python ×1
sdkman ×1
setuptools ×1
vi ×1
vim ×1
vim-plugin ×1