Sitecore安装框架因“路径”错误而失败

时间:2018-04-02 23:54:05

标签: powershell installation sitecore

我正在设置一些脚本,以便我们团队中的开发人员能够轻松地设置本地开发环境。除了最后一步,它安装了Sitecore数据库和Web根目录,我已经安装了所有安装脚本。这是脚本:

#define parameters 
$prefix = "dev" 
$PSScriptRoot = "."
$XConnectCollectionService = "$prefix.xconnect"
$sitecoreSiteName = "$prefix.sc" 
$SolrUrl = "https://solr:8983/solr" 
$SolrRoot = "C:\solr\solr-6.6.2" 
$SolrService = "solr-6.6.2" 
$SqlServer = ".\SQLEXPRESS" 
$SqlAdminUser = "sa" 
$SqlAdminPassword="password"

#install sitecore instance 
$sitecoreParams = @{ 
   Path = "$PSScriptRoot\Packages\sitecore-XP0.json" 
   Package = "$PSScriptRoot\Packages\Sitecore 9.0.1 rev. 171219 (OnPrem)_single.scwdp.zip" 
   LicenseFile = "$PSScriptRoot\Packages\license.xml" 
   SqlDbPrefix = $prefix 
   SqlServer = $SqlServer 
   SqlAdminUser = $SqlAdminUser 
   SqlAdminPassword = $SqlAdminPassword 
   SolrCorePrefix = $prefix 
   SolrUrl = $SolrUrl 
   XConnectCert = $certParams.CertificateName 
   Sitename = $sitecoreSiteName 
   XConnectCollectionService = "https://$XConnectCollectionService" }
Install-SitecoreConfiguration $sitecoreParams

这是我运行脚本时遇到的错误。立即发生。

  

Install-SitecoreConfiguration:无法验证参数'Path'的参数。 “Test-Path $ _ -Type Leaf”   值为“System.Collections.Hashtable”的参数的验证脚本未返回True结果。   确定验证脚本失败的原因,然后再次尝试该命令。   在C:\ setup \ sitecore-dev-install-sc.ps1:18 char:31   + Install-SitecoreConfiguration $ sitecoreParams   + ~~~~~~~~~~~~~~~       + CategoryInfo:InvalidData:(:) [Install-SitecoreConfiguration],ParameterBindingValidationException       + FullyQualifiedErrorId:ParameterArgumentValidationError,Install-SitecoreConfiguration

安装了所有先决条件,并且使用相同变量的所有其他脚本运行正常,例如xconnect install,这非常相似。 JSON配置文件来自Sitecore网站的XP Single软件包下载。有什么想法会导致这种情况吗?关于如何进一步调试的任何想法?

2 个答案:

答案 0 :(得分:0)

PowerShell中的变量是使用$声明和引用的,例如您脚本中的$sitecoreParamshashtable变量。

调用函数时,您可以使用散列表来构建函数的所有参数,然后将单个变量传递给函数。这称为 Splatting 。 Splatting分解哈希表中的每个键/值,并作为匹配的参数/值传递给函数

语法略有不同:

# This passes a single hashtable parameter
Install-SitecoreConfiguration $sitecoreParams

#This 'splats' the hashtable passing each key/value as a parameter
Install-SitecoreConfiguration @sitecoreParams

在进行展示时,变量的$将替换为@

在您的脚本中,您将$sitecoreParams作为第一个参数传递给Install-SitecoreConfiguration。该函数假定第一个参数为Path,因此尝试将其验证为真实文件路径。

修复方法是传递@sitecoreParams,以便将哈希表映射到函数中。

您可以通过以下方式找到有关Splatting的更多信息:

Get-Help about_Splatting -ShowWindow

答案 1 :(得分:0)

请安装以下软件,然后尝试。安装软件后,需要重新启动。

Microsoft ODBC Driver 13 for SQL Server

Microsoft Command Line Utilities 13 for SQL Server

注意:如果由于版本可用性较高而无法安装用于SQL Server的Microsoft ODBC驱动程序13 ,请继续安装用于SQL Server的Microsoft命令行实用工具13 >

希望这会对您有所帮助。