我的应用程序依赖于库比斯-Java 包。这个软件包安装在Ubuntu(我的目标操作系统)上的/usr/lib/jss中,所以我的应用程序,即基于java的应用程序,如果我不将“/usr/lib/jss”添加到用户$PATH,则找不到这个库。我将通过 debian 软件包分发此应用程序,我是否可以在不需要注销的情况下更改$PATH变量?
该应用程序以两种方式分发,一种是普通桌面应用程序。另一种方式是网页中的小程序。在第二种情况下,我想使用debian包强制在用户机器上安装依赖项,以便应用程序正常工作。更具体地说,我的应用程序的第二个案例的DEB包只强制依赖项,应该配置用户的$PATH。
我已经可以通过/etc/profiles将jss添加到$PATH中,但这只适用于用户登录,因此安装后,我的应用程序无法工作。如果这不是正确的方法,我该怎么办?
简单明了的解决方案是编写一个简单的包装shell脚本,该脚本创建正确的环境,然后调用真实的东西。把这个放在/usr/bin/你的应用中
:
#!/bin/sh
PATH=$PATH:/usr/lib/jss
exec /usr/lib/jss/yourapp.real
其中yourapp.real
是实际的二进制文件。为了简单起见,我建议将它与库一起安装,尽管FHS可能会坚持使用/usr/libexec
之类的东西。
我最近通过Homebrew在我的Mac上安装了Apache 2.4。(我以前使用苹果提供的Apache。) 在PHP脚本中,我对位于/usr/local/bin中的可执行文件调用Exec(x),但它失败了,因为/usr/local/bin未包含在Apache的PATH环境变量中。运行phpinfo()显示路径为/usr/bin:/bin:/usr/sbin:/sbin。 我以前在/System/L
Ubuntu是基于Debian Linux, 使用dpkg包挂利器来管理软件像deb. apt程序是用来管理dpkg仓库, 跟zypper和yum使用RPM是一样的. 下面的步骤将会展示如何安装deb. 安装dpkg-dev包. 这个包提供开发工具(包括dpkg-source), 用来unpack, 编译, 和上传Debian源码包. sudo apt-get install dpkg-dev 如
OpenResty 官方 APT 包仓库提供下面的 deb 包 (适用于 Ubuntu 和 Debian)。 openresty 这是用于核心 OpenResty 服务的生产版本。 这个包注册在 /usr/bin/openresty, 它是 OpenResty 的 nginx 可执行文件 /usr/local/openresty/nginx/sbin/nginx 的符号链接。 默认的,你应该能在你
我尝试从Web API获取一个名称数组,并将其存储在数组中。以下是我获取服务名称的函数(我使用了 Alamorfire lib) 但是,我在这个函数之后得到了空数组< code>[],就像函数什么都没做一样。我确保我从服务器获得了正确的数据,并在每个循环中正确地输入到< code>serviceName中。但我不能将其设置为< code>serviceTypeName。请你指出错误好吗?
我有相当多的包是过时的,我想更新。我尝试运行npm update:文档中所述的npm update,更新花了很长时间,最后失败了。我又尝试了几次,我将堆栈大小设置为无限,等等,但总是需要几个小时,最后失败了。 我尝试用--depth 999(不是9999)更新一个包,但也失败了。 是否有任何推荐的方法来更新所有有效的软件包? 然后我得到了一个堆超出的异常: 我将堆栈大小设置为无限,并降低了深度,但
我正在使用Oracle“自含应用程序打包”工具为JavaFX8桌面应用程序创建文件。生成的包文件可以在Ubuntu上毫无问题地安装,但随后应用程序无法运行。该文件的安装方式如下: 重要的是,我正在生成一个不包含JRE的包,经过调查,问题似乎与此有关。生成的文件包含以下行: 如果我编辑它并将路径添加到Java,程序启动时不会出现任何问题。作为一种解决办法,我建议在安装bundle之后,用户运行以下命