npm的包装器,它将节点模块存储在项目外部,并提供对它们的简单访问。

npmenv的Python项目详细描述


npmenv

npm的包装器,它将节点模块存储在项目外部,并提供对它们的简单访问。

npmenv是一个受pipenv启发的python模块,它将包存储在项目之外(在特定于os的目录中),以避免项目混乱。它还有一个run命令,在运行给定命令之前将node_modules/.bin放入PATH。如果您在项目中install node,那么它将具有使用该节点版本运行代码和第三方脚本的额外好处。然后,您可以锁定每个项目的节点版本,并在需要时单独升级它们。

安装:pip install npmenv
支持:所有平台(Linux、MacOS、Windows)
需要:python 3.6+

PyPI packageSource

工作原理

除了env-...命令之外,npmenv还将移交给npm。但在移交之前,它会将您的package.json和/或package-lock.json符号链接到虚拟环境中,并在该环境中运行npm。您可以通过npmenv env-location返回的路径访问任何node_modules文件,即使删除并重新创建了环境,路径也将保持不变(但如果项目路径更改,则不会)。

注意:npmenv不处理npm生成的任何其他文件(例如包覆面提取),不过将来可能会添加更多功能。

cli用法

npmenv 0.2.0

env-list            List all currently existing environments
env-location        Output path to env for current dir (may not exist yet)
env-modules [name]  List items in node_modules (recursive if package name given)
env-run cmd [args]  Run command with env's bin dir in start of PATH
env-rm [env_id]     Remove the env for current dir (or env with given id)
env-cleanup         Remove envs for projects that no longer exist
*any npm command*

模块API

class NpmenvException(builtins.Exception)
    Exception for npmenv-related issues

env_cleanup() -> List[Tuple[str, pathlib.Path, str]]
    Remove envs for projects that no longer exist (no package or lock file)

env_list() -> List[Tuple[str, pathlib.Path, Union[str, NoneType]]]
    Return list of tuples (env id, project dir, issue with project existance)

env_location(proj_dir:Union[pathlib.Path, str]=None) -> pathlib.Path
    Return env dir path for given project dir (may/may not exist yet)

env_npm(args:str='', proj_dir:Union[pathlib.Path, str]=None) -> subprocess.CompletedProcess
    Execute npm with given args in env dir of given project dir

env_rm(identifier:Union[pathlib.Path, str]=None) -> pathlib.Path
    Remove the env for given project dir or env id (defaults to CWD)

env_run(args:str, proj_dir:Union[pathlib.Path, str]=None, run_kwargs:Any={}) -> subprocess.CompletedProcess
    Run a command with node_modules/.bin at start of PATH environment variable

版本历史记录

0.2.0           Added run_kwargs arg to env_run
0.1.2           Added env-modules command
0.0.2           Improved typing support (no functional changes)
0.0.1           Improved documentation (no functional changes)
0.0.0           Version 0.0.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javajexcel包装文本问题   EclipseJavaEnum缩进超过左括号。如何让它看起来更正常?   java有办法包含Tomcat 6 catalina。out和localhost。在网络应用的日志文件中记录内容?   java如何永久性地阻止JavaFX代码在eclipse中被突出显示为错误?   如何在java中优化两个for循环(for循环中的for循环)   java如何在我的windows机器上从jar文件创建mac osx的可执行文件   使用记忆化/动态规划的Java组合学   Java中的游荡对象垃圾收集   java为什么我在JSP和JDBC和MySQL中遇到连接失败错误   java轮询Pod的就绪状态   如何创建电子邮件并将其发送到Java中的特定地址?   java如何修复Dagger 2错误“。。。无法提供[…]”?   java Android单选按钮看起来太轻   Android Studio:开发在应用程序之间共享的通用java库