热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在未连接的计算机上安装适用于PowerShell的Nuget提供程序,以便可以从PS命令行安装nuget软件包?

如何解决《如何在未连接的计算机上安装适用于PowerShell的Nuget提供程序,以便可以从PS命令行安装nuget软件包?》经验,为你挑选了2个好方法。

我正在尝试pswindowsupdate.2.0.0.4.nupkg通过Powershell命令行在未连接到Internet的Win 7计算机上进行安装。我正在运行PS 5.1.14409.1005。我从https://www.preview.powershellgallery.com/packages/PSWindowsUpdate/2.0.0.4获得了nupkg

PS命令Install-Module -Name pswindowsupdate.2.0.0.4.nupkg -Repository {path to pswindowsupdate.2.0.0.4.nupkg}将引发错误消息:

PowerShellGet需要NuGet提供程序版本“ 2.8.5.201”或更高版本才能与基于NuGet的存储库进行交互。NuGet提供程序必须在“ C:\ Program Files \ PackageManagement \ ProviderAssemblies”或“ C:\ Users {我的登录名} \ AppData \ Local \ PackageManagement \ ProviderAssemblies”中可用。您也可以通过运行“ Install-PackageProvider-名称NuGet -MinimumVersion 2.8.5.201 -Force”来安装NuGet提供程序。您是否希望PowerShell现在安装和导入NuGet提供程序?

当然,说“是”无法安装NuGet提供程序,因为我没有连接到互联网。

我获得了nuget.exe(v4.7.0),将其存储在“ C:\ Program Files \ PackageManagement \ ProviderAssemblies”中,并将“ C:\ Program Files \ PackageManagement \ ProviderAssemblies”添加到我的path语句中。但是,执行Install-Module -Name pswindowsupdate.2.0.0.4.nupkg -Repository {path to pswindowsupdate.2.0.0.4.nupkg}仍然失败。

究竟是什么NuGet provider?仅仅是nuget.exe吗?如何获取和安装PowerShell的Nuget提供程序(v2.8.5.201或更高版本),以便可以从PowerShell命令行安装此nuget软件包?

注意:Visual Studio完全不涉及我的问题



1> Nova Sys Eng..:

我接受了trebleCode的答案,但是我想通过遵循trebleCode的答案,提供更多有关在pswindowsupdate.2.0.0.4.nupkg未连接的Win 7机器上安装感兴趣的nupkg的步骤的详细信息。

首先:经过一番挖掘,我认为我找到了trebleCode所指的MS文档:

引导NuGet提供程序和NuGet.exe

Install-PackageProvider

如trebleCode所述,继续进行以下操作

在连接的计算机上安装NuGet提供程序

在连接的计算机(Win 10计算机)上,从PS命令行运行Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force。Nuget软件是从'Net获得的,并安装在我本地连接的计算机上。

安装后,我在C:\Program Files\PackageManagement\ProviderAssemblies(找到:NuGet提供程序软件,位于(注意:文件夹名称与trebleCode的答案\ProviderAssemblies相比,\ReferenceAssemblies是一个较小的差异)。

提供程序软件的文件夹结构如下:

C:\Program Files\PackageManagement\ProviderAssemblies
   \NuGet
      \2.8.5.208
         \Microsoft.PackageManagement.NuGetProvider.dll

在未连接的计算机上安装NuGet提供程序

我将\ NuGet文件夹(及其所有子文件夹)从已连接的计算机复制到了拇指驱动器上,并将其复制到C:\Program Files\PackageManagement\ProviderAssemblies了未连接的(Win 7)计算机上

我在未连接的(Win 7)计算机上启动了PS(v5),然后运行Import-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201以将提供程序导入当前PowerShell会话。

我跑去Get-PackageProvider -ListAvailable看了(NuGet出现在以前不存在的地方):

Name                     Version          DynamicOptions                                                                                                                                                                      
----                     -------          --------------                                                                                                                                                                      
msi                      3.0.0.0          AdditionalArguments                                                                                                                                                                 
msu                      3.0.0.0                                                                                                                                                                                              
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate                                             
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPathUpdate, Filter, Tag, Includes, DscResource, RoleCapability, Command, PublishLocati...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent

在未连接的计算机上创建本地存储库

在未连接(Win 7)的计算机上,我创建了一个文件夹用作PS存储库(例如c:\users\foo\Documents\PSRepository

我注册了该仓库: Register-PSRepository -Name fooPsRepository -SourceLocation c:\users\foo\Documents\PSRepository -InstallationPolicy Trusted

安装NuGet软件包

我获得了nupkg并将其复制pswindowsupdate.2.0.0.4.nupkgc:\users\foo\Documents\PSRepository未连接的Win7机器上

我通过执行了解了模块的名称 Find-Module -Repository fooPsRepository

Version    Name                                Repository           Description                                                                                                                      
-------    ----                                ----------           -----------                                                                                                                      
2.0.0.4    PSWindowsUpdate                     fooPsRepository      This module contain functions to manage Windows Update Client.

我通过执行安装模块 Install-Module -Name pswindowsupdate

我通过执行验证了安装的模块 Get-Command –module PSWindowsUpdate

CommandType     Name                                               Version    Source                                                                                                                 
-----------     ----                                               -------    ------                                                                                                                 
Alias           Download-WindowsUpdate                             2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           Get-WUInstall                                      2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           Get-WUList                                         2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           Hide-WindowsUpdate                                 2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           Install-WindowsUpdate                              2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           Show-WindowsUpdate                                 2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           UnHide-WindowsUpdate                               2.0.0.4    PSWindowsUpdate                                                                                                        
Alias           Uninstall-WindowsUpdate                            2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Add-WUServiceManager                               2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Enable-WURemoting                                  2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WindowsUpdate                                  2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUApiVersion                                   2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUHistory                                      2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUInstallerStatus                              2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUJob                                          2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WULastResults                                  2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WURebootStatus                                 2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUServiceManager                               2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUSettings                                     2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Get-WUTest                                         2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Invoke-WUJob                                       2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Remove-WindowsUpdate                               2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Remove-WUServiceManager                            2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Set-WUSettings                                     2.0.0.4    PSWindowsUpdate                                                                                                        
Cmdlet          Update-WUModule                                    2.0.0.4    PSWindowsUpdate 

我想我很好



2> 小智..:

MSDocs针对您的情况说明了这一点:

为了第一次执行,PackageManagement需要Internet连接才能下载Nuget软件包提供程序。但是,如果您的计算机没有Internet连接,并且需要使用Nuget或PowerShellGet提供程序,则可以将它们下载到另一台计算机上,然后将它们复制到目标计算机上。使用以下步骤执行此操作:

    运行Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force从具有Internet连接的计算机上安装提供程序。

    安装后,您可以在$ env:ProgramFiles \ PackageManagement \ ReferenceAssemblies \\\\或$ env:LOCALAPPDATA \ PackageManagement \ ProviderAssemblies \\\\中找到安装的提供程序。

    将文件夹(在本例中为Nuget文件夹)放置在目标计算机上的相应位置。如果目标计算机是Nano服务器,则需要从Nano Server运行Install-PackageProvider来下载正确的Nuget二进制文件。

    重新启动PowerShell以自动加载程序包提供程序。或者,运行Get-PackageProvider -ListAvailable列出计算机上所有可用的软件包提供程序。然后,使用Import-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201将提供程序导入当前的Windows PowerShell会话。


推荐阅读
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
author-avatar
lingling2502852417
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有