几天前我安装了Phalcon PHP,我越来越兴奋了.现在我想尝试Phalcon Devtools一下.我刚安装它就像在installation manual via Composer(用于Linux)中显示的那样.但是当我尝试执行phalcon命令时,我收到一个错误:
$ phalcon commands
ERROR: Phalcon extension isn't installed, follow these instructions to install it: http://docs.phalconphp.com/en/latest/reference/install.html
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?
(环境:Debian GNU/Linux 7.4 (wheezy),PHP 5.5.11-1).
附加信息:
我在所示的文档中安装了Phalcon PHP:
$ apt-get install php5-dev libpcre3-dev gcc make php5-mysql
$ git clone --depth=1 git://github.com/phalcon/cphalcon.git
$ cd cphalcon/build
$ ./install
Run Code Online (Sandbox Code Playgroud)
因为它似乎不起作用,我尝试了
$ cd cphalon/build/64bits
$ export CFLAGS="-O2 --fvisibility=hidden"
$ ./configure --enable-phalcon
$ make && make install …Run Code Online (Sandbox Code Playgroud) 我在 RStudio 中创建了一个包含一些自定义函数的包。
当我更改此包中包含的函数中的某些内容时,我使用“构建”选项卡中的“构建和重新加载”来重建包,希望此操作“更新”它。
这通常可以完美运行。然而,有一种功能没有发生。如果我打开function.R文件,修改就在那里;但是,当我从控制台或脚本调用它时,会加载旧版本。我尝试了一些简单的方法,例如重新启动和“清理和重建”。我尝试删除它,重建并再次添加它,但即使在这种情况下,令人惊讶的是,旧版本也被加载了。
我注意到这个函数看起来与包中的其他函数不同的唯一一件事是:
我试图调查这个,但我仍然缺乏必要的一般理解,我什至不确定这种差异是否真的与问题有关。
备注1:全局环境为空,所以不屏蔽函数。备注2:search()路径是(包名是SDA,在第二位):
> search()
[1] ".GlobalEnv" "package:SDA" "package:splines" "tools:rstudio" "package:stats" "package:graphics" "package:grDevices" "package:utils"
[9] "package:datasets" "package:methods" "Autoloads" "package:base"
Run Code Online (Sandbox Code Playgroud)
注意:我正在使用包“devtools”进行开发。
这是我的第一个stackoverflow问题,所以请善待,伙计们!
我非常喜欢我最近发现的使用devtools构建R包的能力.但是,一旦我尝试构建一个使用RcppArmadillo的包,我运行devtools :: document(),devtools :: check()和devtools :: build()的工作流程就不再有效了.
例如,我有一个(希望非常简单+完整)测试版本的软件包我试图在这里开发:https://github.com/suztolwinskiward/fooR/.fooR只包含一个函数,它是fields包中rdist.earth函数的C++实现.
运行devtools :: document("fooR")会抛出大量的消息(有些消息指向不存在于我的源代码中的变量的"未定义引用",这些变量对我来说是不可解释的,然后失败:
collect2: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'fooR'
* removing 'C:/Users/I53794/AppData/Local/Temp/RtmpWgC8nD/devtools_install_1ea473123086/fooR'
Error: Command failed (1)
Run Code Online (Sandbox Code Playgroud)
另一方面,当我获取依赖于RcppArmadillo的C++函数时,它似乎运行得很好:
> Rcpp::sourceCpp('./src/rdist_earth_cpp.cpp')
> data('miami')
> data('new_orleans','katrina_path')
> rdist_earth_cpp(katrina_path,new_orleans)
[,1]
[1,] 1042.36073
[2,] 998.96793
[3,] 957.69315
[4,] 917.91486
[5,] 868.07791
[6,] 805.73485
[7,] 763.01476
[8,] 726.10133
[9,] 692.14482
[10,] 670.15133
[11,] 662.23353
[12,] 625.55592
[13,] 601.08682
[14,] 579.73940
[15,] 560.32660
[16,] …Run Code Online (Sandbox Code Playgroud) 使用testthat/devtools基础结构时,跳过R包测试目录中所有测试的正确方法是什么?例如,如果没有与数据库的连接并且所有测试都依赖于该连接,我是否需要skip单独编写所有文件或者我可以在skip某处写一个?
我有一个标准的包装设置,看起来像
mypackage的/
- ......#其他包裹的东西
- 测试/
- testthat.R
- testthat /
- 测试thing1.R
- 测试thing2.R
起初我以为我可以在testthat.R文件中进行测试
## in testthat.R
library(testthat)
library(mypackage)
fail_test <- function() FALSE
if (fail_test()) test_check("package")
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用,看起来调用devtools::test()只是忽略该文件.我想另一种方法是将所有测试存储在另一个目录中,但是有更好的解决方案吗?
我有以下文件cumsum_bounded.cpp
#include <Rcpp.h>
using namespace Rcpp;
//' Cumulative sum.
//' @param x numeric vector
//' @param low lower bound
//' @param high upper bound
//' @param res bounded numeric vector
//' @export
//' @return bounded numeric vector
// [[Rcpp::export]]
NumericVector cumsum_bounded(NumericVector x, double low, double high) {
NumericVector res(x.size());
double acc = 0;
for (int i=0; i < x.size(); ++i) {
acc += x[i];
if (acc < low) acc = low;
else if (acc > high) acc = high;
res[i] …Run Code Online (Sandbox Code Playgroud) 我正在R使用 devtools::document()开发一个包来创建 NAMESPACE 文件。其中一些函数是 S3methods,用于摘要、预测、绘图、打印,其中泛型在base或 中stats。我正在按照 Hadley 的建议使用 @export,这会导致 NAMESPACE 中的 S3method 条目正确,并且包通过了所有检查 -as-cran。但是,这些函数未在 NAMESPACE 中导出,因此未找到调用 print.myclass(我理解这是避免混乱 NAMESPACE 所需的行为)。但是,通过 Mypackage::print.myclass 调用该函数也会导致该函数不是从 导出的对象的错误Mypackage。
问题:这是正确的行为吗?或者是否需要其他步骤才能导出该函数?我曾尝试添加 @method print Myclass 和 @export 但没有运气。devtools在 MAC OS X 10.12.6 下使用 R 3.4.2 和1.13.3
谢谢!梅丽丝
编辑:更新为具有将添加/导出方法和导出功能的代码
简单示例 - 在 RStudio 中构建一个具有以下功能的骨架包:
#' test for export of S3 methods
#'
#' @title "print hello world for any object"
#' @param x object
#' @param digits optional number specifying …Run Code Online (Sandbox Code Playgroud) 我有一系列数据框,我想在我的包中保存为单独的.rda文件.
我可以使用,devtools::use_data(my.df1, my.df2...)但我没有每个数据框的命名对象,它们都存储在一个大的列表中.
我想要做的是为每个列表元素调用use_data并使用列表名称作为.rda文件名.但是,当我执行以下操作时,我收到一条错误消息:
> lapply(my.list, devtools::use_data, overwrite = TRUE)
Error: Can only save existing named objects
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
使用Chrome、IE11或EDGE并在开发人员工具中修改 CSS 时,您可以按 撤消规则/声明CTRL + Z。
例如:编辑margin: 16px到margin: 14pxI 应该能够用 来还原更改CTRL + Z并用CTRL + Y.
我还没有找到在 Firefox 中执行此操作的方法,甚至还没有找到要求添加它的人。这是阻止我在开发中使用 Firefox 的唯一原因。
有没有办法获得这个功能,或者是从 Mozilla 团队请求它的问题?
我使用 Chromium 浏览器(版本 99.0.4844.0)访问一个网站并打开 DevTools (F12),然后转到“Sources”、“Overrides”,在其中粘贴一个文件夹。
然后我可以对“源”和“页面”下的文件进行更改,这些文件也会在页面重新加载后显示。
“Page”下是“webpack://”区域(源映射)。对文件的更改也会出现在下面的“更改”选项卡中,但它们不会生效。
我怎样才能对“webpack://”区域中的文件进行更改?
在最新的 Google Chrome 版本中,“保存以覆盖”不适用于“源”、“页面”下的 webpack 文件。
Chrome版本:103.0.5060.134(arm64)
之前:
LocalStorage和SessionStorage是跟随页面js运行实时更新的,
现在:
需要切换devtools选项卡或手动单击devtools左上角刷新按钮来检查最新值。
问题: