问题标签 [post-install]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13049 浏览

node.js - npm postinstall 使用多个命令失败

在 mycomposer.json中,有一个postinstall钩子设置,如下所示:

每当我运行它时(从 Git/Gnu Bash CLI 在 Win 上运行),我都会以

command not found. either the command was written wrong or couldn't be found

德语 CLI 错误的粗略翻译。

我尝试将其拆分为多个;/ 分号分隔的部分,然后首先cd进入该目录,但它最终会得到相同的错误消息。用一个简单的替换整个postinstall命令集ls确实有效。所以我问题可能是分号分隔或命令的错误使用。但总的来说,我不知道出了什么问题。

注意:我全局安装了grunt-cli0.1.9 和grunt0.4.1 版本。

0 投票
0 回答
1228 浏览

macos - 带有 pkg​​build 的 Mac 安装程序:在降级的情况下不要执行安装前和安装后脚本

我用 pkgbuild 做了一个包。在 info.plist 中,BundleIsVersionChecked 设置为 true。我的包在脚本文件夹中包含一个安装前和安装后脚本。

确实可以防止我的应用程序包降级。但是即使未安装应用程序包,也会始终运行预安装和安装后脚本。

当降级发生时,如何告诉 pkgbuild 不要执行 preinstall 和 postinstall 脚本?

0 投票
2 回答
2248 浏览

deb - CMAKE/CPACK:我想让 deb 在安装后执行一个 bash 脚本,但它不起作用

我用cmake/cpack构建了一个debian包。我希望deb在安装deb后执行一个bash脚本。我安装deb使用sudo dpkg -i my.deb。如果我这样安装deb,安装程序的用户和组是根。所以我希望 deb 自动执行一个 bash 脚本来使用当前登录的用户和组来修改用户和组。

我用谷歌搜索了关于这个的信息。我发现 SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA, ./script/postinst) 可以做到这一点。所以我喜欢这样,但它没有用。

我喜欢这样:

安装(程序 ${CMAKE_SOURCE_DIR}/script/postinst DESTINATION ./script)

设置(CPACK_GENERATOR“DEB”)

设置(CPACK_PACKAGE_NAME“mydeb”)

设置(CPACK_PACKAGE_VERSION“1.0”)

设置(CPACK_DEBIAN_PACKAGE_MAINTAINER “乔治”)

设置(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA,./script/postinst)

设置(CPACK_PACKAGING_INSTALL_PREFIX “usr”)

包括(CPACK)

postinst 是一个 bash 脚本,用于使用当前登录的用户和组修改已安装程序的用户和组

如果有些事情是错的?我需要帮助

0 投票
1 回答
2358 浏览

debian - dpkg postinst - 如何以普通用户身份运行它

我正在编写一个快速的 shell 脚本来处理显示设置,但这无关紧要。将shell脚本放在任何可以访问的目录中;我选择了/usr/local/bin/<dir>/<script>

我使用 postinst 脚本创建相关的快捷方式并将此脚本注册为启动应用程序。一旦配置完成,我想/usr/local/bin/<dir>/<script>被执行。这似乎执行(因为它生成详细数据),但没有预期的视觉变化(显示设置不生效)。我期望为 root 用户完成更改。安装退出后,我可以运行/usr/local/bin/<dir>/<script>以获得所需的效果,但sudo /usr/local/bin/<dir>/<script>不会产生相同的效果,因为它正在更改根的显示设置。

如果可以在没有root 权限的情况下运行postinst中的命令,则可以简单地解决它。我怎样才能做到这一点?

0 投票
1 回答
1375 浏览

symfony - Symfony2 Composer 安装后 cmd

我需要在作曲家上安装一个 symfony2 包,并在安装过程之后做一些事情。因此,对于安装后的“东西”,我在 composer.json 的“post-install-cmd”中添加了一行

它调用函数,一切都很好

我使用的命令:

现在我的问题是:是否可以获取名称“serviceplatform/bundles/poll”或将任何参数传递给语句?安装后我需要捆绑包中的路径。

0 投票
1 回答
774 浏览

shell - 采购 debian 维护者脚本中的常用函数

我有许多我想获取的常用函数,因此可以在 debian 维护者脚本(preinst/postinst/prerm/postrm)中使用,称之为 common.sh。

如果我将“common.sh”添加到 DEBIAN 目录,dpkg 会抱怨:

但是,包可以正确构建。

当我安装时,很难找到我的 common.sh 所在的正确目录。在 preinst 它似乎在寻找/var/lib/dpkg/tmp.ci,而在 postinst 它似乎在寻找/var/lib/dpkg/info

我可以将 common.sh 粘贴在 tmp 目录中并稍后将其删除,但我觉得安装到操作系统的文件应该保留它们,直到 dpkg 可以删除它们。

无论如何,我想知道真正的“debian”方式是什么?

0 投票
3 回答
2713 浏览

installation - 创建 .deb 安装程序时如何安装依赖项?

我创建了一个deb包说abc.deb。现在有很少的依赖项,例如python-dev, python-mysql等,需要作为 deb 安装本身的一部分进行安装。

(即当用户运行时dpkg -i abc.deb,依赖项也应该自动安装)。

我正在使用一个control包含少量参数的文件,例如preinst, postinst等。我试图添加Depends到控制文件中,但我想,Depends如果提到的依赖项不存在,只会停止包安装。我如何将依赖项安装为 deb 包安装本身的一部分?我正在寻找一种可行的解决方案Ubuntu 12.04

PS当我尝试在我的postinst脚本中安装依赖项时

我给了我一个错误:

0 投票
1 回答
1009 浏览

checkbox - Inno Setup - Post Install:用单选按钮替换复选框?

我编写了一个包含多个组件的 Inno Setup 脚本。脚本的 [Run] 组件包括这些行,因此 Finish 屏幕上最多可以有五个复选框。

我的问题是:我可以让这些选项互斥,让用户只能选择一个吗?换句话说,我可以用单选按钮替换复选框吗?

一个复杂的问题是这些选项中的一到五个可能可用,具体取决于用户选择安装的组件。

由于我不知道这五个选项中的哪一个可能出现在“完成”屏幕上,因此我不知道我该如何做这样的事情(尽管它似乎指向正确的方向):

如何使用多个单选按钮在 Inno 设置中执行文件?

感谢您对此的任何帮助。

0 投票
1 回答
1315 浏览

bash - 更改 debian 包中的文件所有者

我有一个包含静态文件的 debian 包,用于具有 root:root 所有者的 Web 应用程序。例如,安装此软件包后,我需要更改 tomcat:tomcat 的所有文件的所有者。我读过这可以通过 postinst 脚本来完成。但是我不知道如何遍历包的所有文件。

我认为我的脚本应该是这样的:

我会很感激任何帮助。

0 投票
1 回答
645 浏览

xcode - CocoaPods:如何指定某些项目不应添加到 podspec 中的构建阶段?

Cat2Cat和其他一些可执行文件很少的项目上工作,我想确保这些可执行文件不包含在构建阶段,以避免warning: no rule to process file我在可执行文件上收到警告。

我很难弄清楚如何使这项工作,因为我对 Ruby 有点垃圾。看起来它可能必须是某种post_install脚本才能从目标中删除文件,但我有点不清楚可以用post_install脚本做什么。

我查看了Podspec Syntax Reference,但它似乎对这类事情没有太大帮助。

任何人要么a)已经有一些代码可以作为示例分享,要么b)有任何关于我可以在哪里弄清楚如何做到这一点的建议?

谢谢!