Orchard CMS:无法从仪表板库安装模块

10

所有这些都是在我的本地机器上完成的。

我几天前在WebMatrix中安装了Orchard(版本为1.3.9)。

我安装了Contoso主题。

我按照HelloWorld模块和Simple Commerce模块的说明进行操作,它们可以正常工作:这包括从仪表板中添加来自画廊的模块,例如Code Generation模块。

今天,如果我尝试从仪表板中的画廊安装任何模块,则会显示以下带有红色背景的消息:

软件包安装失败。

请求的软件包安装时出现错误。如果服务器没有对Web站点的“~/Modules”或“~/Themes”文件夹具有写入访问权限,则会出现此错误。如果该站点在共享托管环境中运行,则有时需要通过主机控制面板手动添加对这些文件夹的写访问权限。一旦已经安装了主题和模块,建议删除对这些文件夹的写访问权限。

远程服务器返回错误:(404)未找到。

我进入Web Matrix的请求部分,显示抓取Messaging模块的请求:

它说

302.0对象已移动 路径C:/ Users / Rick / Documents / My Web Sites / RickHodder / Packaging / PackagingServices / InstallGallery

获取 http://localhost:36700/Packaging/PackagingServices/InstallGallery? packageId = Orchard.Module.Messaging&version = 1.3.0&sourceId = 1&redirectUrl =%2FPackaging%2FGallery%2FModules

Orchard项目更改了画廊的拉取位置吗? 我没有对机器进行任何更改,并且查看了Windows Update日志,未发现可能更改权限的任何内容。

有什么想法吗?


果园项目的负责人刚刚发邮件说他们已经更改了位置,但是设置了永久重定向,应该会自动跟随。也许我的ISP还没有传播到 - 我明天再试试。 - Rick Hodder
7个回答

8

我认为问题在于URL区分大小写。我遇到了与Bertrand提供的新包URL完全相同的问题。然而,将feedservice.svc的大小写更改为FeedService.svc解决了这个问题。使用此程序库URL,我现在可以从控制面板安装模块:

http://packages.orchardproject.net/FeedService.svc


3

2

谢谢Bertrand,我会尝试一下 - 目前在Settings\Gallery中是http://orchardproject.net/gallery/server/FeedService.svc。 - Rick Hodder
当我将画廊订阅源设置为该地址,然后转到模块并点击画廊选项卡时,画廊无法加载并显示以下消息:从画廊源“Default”加载扩展时出错。处理响应流时出现错误。服务器失败,出现以下消息:处理此请求时发生错误。处理响应流时出现错误。服务器失败,出现以下消息:处理此请求时发生错误。有什么想法吗? - Rick Hodder
从地址中获取以下内容,这让我认为列表中没有任何软件包: <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
  • <service xml:base="http://packages.orchardproject.net/FeedService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
  • <workspace> <atom:title>默认</atom:title>
  • <collection href="Packages"> <atom:title>软件包</atom:title> </collection>
  • <collection href="Screenshots"> <atom:title>屏幕截图</atom:title> </collection> </workspace> </service>
- Rick Hodder
1
不,如果你想要包列表,请在该地址后添加/Packages。 - Bertrand Le Roy
这可能是某种缓存问题。很奇怪。也许值得提交一个错误报告,以便我们进一步调查。 - Bertrand Le Roy
显示剩余3条评论

2

我曾经遇到过同样的问题,但是我已经解决了它 :-) 在Windows资源管理器中打开“模块”和“主题”文件夹,右键单击,选择属性 > 安全 > 编辑... 将所有用户都设置为拥有所有可能的权限(对于我来说,这些用户是System、MyUsername、Administrators和另外一个)。然后下载所需的主题/模块(不要安装),回到仪表板,选择“主题”/“模块” > 从计算机安装...,然后就可以使用了 :-) 希望能帮到你!


嗨Linda,谢谢你的建议。不幸的是,它没有解决问题。 - Rick Hodder

0
我曾经遇到同样的问题,最终发现这个问题是由我开发的自定义主题引起的。Orchard 中的其他所有功能都能够正常工作,除了模块安装。
似乎由于我的 Theme.txt 文件中 Version 字段的格式问题,Orchard 1.8 无法从库中安装模块。我不知道 Theme.txt 如何导致模块安装失败,但我知道当 Version 字段的值为 1 时,模块安装会失败,并显示以下信息:
“包安装失败:请求的包安装失败。如果服务器没有对网站的 '~/Modules' 或 '~/Themes' 文件夹具有写入访问权限,则可能会出现此问题。如果站点在共享托管环境中运行,则有时需要通过托管控制面板手动添加对这些文件夹的写入访问权限。一旦安装了主题和模块,建议删除这些文件夹的写入访问权限。”
当我将 Version 值设置为 1.0.0 时,就可以正常安装模块了。

0

我刚刚解决了这个问题,以下是我的做法:

  1. 进入“程序和功能”
  2. 列出项目
  3. 点击“打开或关闭Windows功能”
  4. 点击“Internet信息服务”

现在,我逐一打开了Web管理工具万维网服务中的所有选项,因为我缺少几个项目。我没有时间一个一个尝试来找到哪个选项实际上解决了问题;但是在打开这些选项后,错误最终消失了,我可以安装主题了。

除此之外,我还进行了以下操作:

  1. 将画廊URL更新为http://packages.orchardproject.net/FeedService.svc/
  2. 授予每个人对该目录的完全权限

希望这对未来遇到此错误的任何人有所帮助。如果有人有机会确定应选择哪些确切选项在万维网服务中,那就太好了!

谢谢,

Flea


0
我“修复”了它,但其实不知道是什么真正解决了问题——我用WebMatrix创建了一个新的Orchard网站,运行了该网站,然后在WebMatrix中打开了出问题的网站并运行了该网站,这样我就能够看到画廊,甚至能够安装模块。
也许某个地方的缓存被更新了。

1
我和你遇到了同样的问题。Bertrand和Noah给出了正确的答案:必须使用新的FeedService地址,并且*大小写必须正确'FeedService.svc'*。 - Brent Arias
谢谢Brent,但是订阅名称已经被正确地大小写了。我不知道真正的问题是什么,但我知道有几个人正在经历这个问题,甚至没有更改订阅名称,因为他们设置了订阅使用302(永久重定向)。 - Rick Hodder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接