我正在开发一个使用Ruby on Rails的应用程序,主要是作为学习语言的借口.
这不是一个基于Web的应用程序 - 也许我选择了错误的语言,但......
我的理解是,为了在别人的计算机上运行这个应用程序的实例,他们需要在rails上安装ruby,在webserver(或者webrick,或许)上安装,以及我的应用程序代码.
我很好奇是否有任何其他选项可以将我的应用程序作为独立应用程序分发,或者只是一种简单的方法来将Web浏览器和ROR与我的应用程序一起打包进行简单的一步安装?
ruby offline software-distribution desktop-application ruby-on-rails
我开发了一个小型应用程序,我想尝试和销售,但我不熟悉如何最好地解决这个问题.
我如何将程序锁定以供试用1.
我将如何处理接受付款?
请记住,我是一个没有很多钱的单人乐队,我希望找到一个免费或低成本,有效,安全且易于实施和维护的解决方案.这不是我有很多经验,因为我通常为公共部门开发,他们购买解决方案作为一个问题,我们从未许可过它.
真的很感激任何帮助.谢谢,
乙
我有一个Python模块,我想上传到PyPI.到目前为止,它适用于Python 2.x. 现在编写3.x版本应该不会太难.
但是,遵循在这些地方制作模块的指导原则:
我不清楚如何为不同版本的Python支持多个源代码发布,并且不清楚PyPI是否/如何支持它.我设想我会有单独的代码:
如何在PyPI中设置Python模块,以便有人可以:
easy_install modulename
Run Code Online (Sandbox Code Playgroud)
无论用户是使用2.x还是3.x,它都会安装正确的东西?
我是distutils的新手,我有一个问题,真的让我陷入困境.我正在编译一个需要扩展的包,所以我这样做了扩展:
a_module = Extension(
"amodule",
["initmodule.cpp"],
library_dirs=libdirs,
extra_objects = [
"unix/x86_64/lib/liba.so"
"unix/x86_64/lib/lib.so",
"unix/x86_64/lib/libc.so"],
)
Run Code Online (Sandbox Code Playgroud)
然后我运行安装方法:
setup(name="apackage", version="7.2",
package_dir = {'':instdir+'/a/b/python'},
packages=['apackage','package.tests'],
ext_modules=[hoc_module]
)
Run Code Online (Sandbox Code Playgroud)
包分发是正确的,我可以"python setup.py安装"罚款,但当我尝试导入我的包时,我收到一个错误
ImportError: liba.so.0: cannot open shared object file: No such file or directory
我意识到当我将liba.so.0的位置添加到我的LD_LIBRARY_PATH时,程序运行正常.不幸的是,我没有编写这些模块,也没有很好地理解编译.我一直试图解决这个问题几天无济于事.
更新:我尝试将liba.a,libb.a等文件传递给extra_objects,但这不起作用,生成以下错误:liba.a:无法读取符号:错误值collect2:ld返回1退出状态.我正在尝试做的是打包一个python模块,它需要编译一个库本身依赖于我需要以某种方式包含在包中的其他库.我怀疑我的问题非常类似于这个:http:/ /mail.python.org/pipermail/distutils-sig/2009-February/010960.html但那个问题没有得到解决,我想也许已经有两年了,已经找到了解决方案?
更新2:现在我通过这样做解决了这个问题:
data_files=[('/usr/local/lib', glob.glob('unix/x86_64/lib/*'))]
Run Code Online (Sandbox Code Playgroud)
也就是说,我正在将我需要的库复制到/ usr/local/lib中.我对这个解决方案并不是非常满意,尤其是因为它要求我的用户拥有root权限,并且因为这可能仍然无法使用Redhat发行版.所以,如果有人能提出比这个修复更好的建议,请告诉我.
python packaging software-distribution distutils distribution
作为Linux发行版中的下游维护者,我通常维护的一些软件包开始在其代码库中使用C++ 11特性.所有这些都依赖于Linux发行版打包的不同库.
将C++ 11代码与C++ 98和AFAIK混合时,可能会出现ABI问题,当编译软件生成包时,大多数当前主要的Linux发行版都默认不启用C++ 11标志.
问题是:主要的Linux发行版如何处理C++ 11代码的输入?在使用系统库时,是否有一种可靠的方法来检查或避免ABI的这些问题?
谢谢.
我想向某人发送我的iPad应用程序的Xcode模拟器版本 - 而不是设备版本.我在Finder中找到了.app文件.我只是拉上它并发送它还是比它更复杂?
谢谢,
道格
Chrisbtoo得到了这个问题的答案,但是他为你在家里尝试这个问题留下了一些关键点:
Xcode模拟器的路径(模拟器可以独立运行)
./Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app
出现在模拟器主屏幕中的应用程序路径:
/ Users/turner/Library/Application Support/iPhone Simulator/3.2/Applications/{GUID}
在构建模拟,从模拟器桌面删除应用程序并通常将模拟器用作实际设备时,观察应用程序模拟器目录中发生的情况是有益的.
结论:这是一种可行的方法,可以以"模拟"的临时方式共享应用程序,而无需真正的ad hoc应用程序共享的麻木,灵魂吸吮过程.
干杯,
道格
我有一个Node.js应用程序,我想在Raspberry Pi上运行.
而且,我希望能够远程部署我的应用程序的新版本以及新版本的Node.js到Raspberry Pi.
基本上,如:
$ pi-update 192.168.0.37 node@0.11.4
$ pi-update 192.168.0.37 my-app@latest
Run Code Online (Sandbox Code Playgroud)
我对如何将我的应用程序转移到Pi没有任何偏好,可能是推或拉.我不在乎(虽然我应该补充说,应用程序的代码可以从私有GitHub存储库获得).
此外,一旦部署了Node.js和/或我的应用程序,我希望可能正在运行的Node.js应用程序重新启动.
我怎么能这样做?我应该研究哪种软件?这是否可以使用Raspbian的工具轻松完成,或者我应该寻找第三方软件(devop工具,如Chef&co.),还是......?
任何帮助是极大的赞赏 :-)
我有一个程序(特别是我的SO DevDays倒计时应用挑战的入口),它依赖于几个动态库,即libSDL,libSDL_ttf等.我/opt/local/lib通过MacPorts 安装了这些库,许多人不会安装这些库(有些人可能已经安装了这些库,但是没有安装它们).
如何分发我的程序,以便没有安装这些库的人可以开箱即用?显然我将不得不分发各种.dylib文件,但这样做是不够的.动态加载程序仍然会查找安装在我安装的位置的库.有没有办法告诉动态加载器查看可执行文件的当前目录,比如Windows对DLL的作用?人们不应该修改任何环境变量(例如DYLD_LIBRARY_PATH),因为我再次希望这可以开箱即用.
我创建了一个简单的Gradle构建,它将./src/main/groovy的内容导出为zip文件.zip文件包含一个与zip文件名称完全相同的文件夹.我无法弄清楚如何使用分发插件将文件放入zip文件的根目录.
即gradlew clean distZip产生:
helloDistribution-1.0.zip - > helloDistribution-1.0 - > files
我想要的是什么:
helloDistribution-1.0.zip - > files
我的build.gradle文件:
apply plugin: 'groovy'
apply plugin: 'distribution'
version = '1.0'
distributions {
main {
contents {
from {
'src/main/groovy'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试图通过添加into { 'dir' }但无济于事来解决问题.
在 Raku 发行版中,我如何依赖Foo::Bar或Foo::Baz不依赖两者?
packaging ×2
python ×2
.net ×1
abi ×1
c++ ×1
c++11 ×1
dependencies ×1
distribution ×1
distutils ×1
dyld ×1
gradle ×1
iphone ×1
licensing ×1
macos ×1
node.js ×1
offline ×1
package ×1
python-2.x ×1
python-3.x ×1
raku ×1
raspberry-pi ×1
ruby ×1
wpf ×1
xcode ×1