我有一个依赖于ruby gem的node.js项目.有可能以某种方式创建一个安装过程,以简单的方式安装gem依赖项?理想情况下,当我这样做
npm install
Run Code Online (Sandbox Code Playgroud)
要安装npm依赖项,如果安装了所需的ruby gem,那将会很棒.
这两者之间是否存在某种桥梁?如果没有,是否有人对此进行了调查,并找到了建议的最佳做法或在这些情况下解决?
我有一个php命令行工具,我想与世界分享.好吧,实际上我打算写它,它是一个将设计文档加载到couchdb的工具,但这不是重点.
无论如何,是否有最佳实践来打包php脚本,以便分发它们以便于安装?我正在思考好旧的"./configure&make&make install",但是如何处理php脚本呢?我读过有关phar的内容,但它似乎主要用于库.那么任何想法?或其他项目如何做到这一点的例子?
我正在开发一个 WordPress 插件,该插件使用了 Composer 包。作为参考,我正在开发的插件在这里:
https://github.com/tunapanda/wp-h5p-xapi
我正处于本地运行的阶段,我想将其发布到 wordpress 插件存储库。
为了使用该插件,我需要composer install在插件目录中运行以安装 Composer 包。我的问题是,它如何与插件存储库一起使用以及让它工作的最佳实践是什么?因为显然,如果我只是将插件发布到存储库,并且如果有人从那里安装它,它将无法工作,因为那时作为依赖项的作曲家包将不会被安装。
我看到两种不同的方法来处理这个问题:
将我的vendor目录置于源代码管理之下并将其签入存储库。这感觉不是一个理想的解决方案,因为我首先会失去使用包管理器(例如 Composer)的大部分意义。
避免一起使用 Composer,而只需获取我需要的包的代码并将其置于源代码控制之下。
所以我的问题是,最佳实践是什么?谁能给我指一个使用外部依赖项的参考 WordPress 插件?
让我先解释一下我所说的“干净地退出”是什么意思。
如果我有一个 nodejs 应用程序并且我执行 setTimeout 很长时间,或者如果我打开一个我没有关闭的套接字连接,那么当我运行该应用程序时它不会退出。原因很清楚,我认为这是一个很好的原因,nodejs 的工作方式是等到“没有更多工作要做”,然后退出。这很好,我喜欢这种操作方式。这也迫使我对干净地关闭套接字和没有计时器放置有点自律。另一件好事。
但是,我遇到的问题是,我收到了一些不符合此规则的代码,并且它没有干净地退出。我怀疑某处的代码留下了一个打开的套接字,但是代码被缩小了,所以找到这个套接字打开的点并不容易。
我的问题是,有没有办法可以查询 nodejs 以找出哪些套接字是打开的?通过查看这样一个带有 ip 号码的列表,我可以开始挖掘以找出打开它们的代码的位置。
正如标题所说,我想进行单一测试,而不是整个规范.我试过的天真的方式是使用这样的案例:
describe("MyCase",function() {
it("has a test",function() {
expect(something).toBe(something);
}
it("has another test",function() {
expect(something_else).toBe(something_else);
}
}
Run Code Online (Sandbox Code Playgroud)
这保存在名为MyCase.spec.js的文件中(如果这很重要).我原以为可以在命令行中使用以下命令运行第一种情况:
jasmine-node --match="MyCase has a test"
Run Code Online (Sandbox Code Playgroud)
但这显然不是这样做的方式.那怎么办?
谢谢!