学习者:如何通过更改ID和版本使本地存储无效?
Posted
技术标签:
【中文标题】学习者:如何通过更改ID和版本使本地存储无效?【英文标题】:learnr: How to invalidate stored worked locally by changing ID and version? 【发布时间】:2018-11-19 21:09:33 【问题描述】:我正在使用 learnr
包开发教程。在迭代测试过程中,我需要使教程文件失效。
我按照Preserving Work 的解释,在 yaml 标头中添加了 ID 和版本。
但每当我更改 ID 和/或版本号时,我总是得到最后一次锻炼试验。
当您更改教程的 ID 或版本时,与该教程相关的所有存储工作都将失效,并且该教程的用户在再次访问它时将重新开始。 (来自Preserving Work)
上面的引用对我不起作用:即使我重新启动 RStudio 和/或使用 Clear Rendered Output …
resp。 Clear Knitr Cache …
。但是我确实成功地更改了块头的标签,并且我知道我可以使用教程页面上的“重新开始”按钮。
会不会是ID和版本在本地不起作用? (顺便说一句:我的电脑上与教程相关的存储作品的文件在哪里?)
我的 yaml 标头看起来像:
---
title: "Tutorial"
tutorial:
id: "b4e9e9b1-02b1-45c7-b35e-64ff6fbf0a0e"
version: 2.9
output:
learnr::tutorial:
progressive: true
allow_skip: true
runtime: shiny_prerendered
---
我正在使用 uuid
包生成 ID - 如 Tutorial Identifiers 下的 learnr
教程中所述。
我总是使用命令rmarkdown::run("<path-to-filename/filname>")
开始新的试用。
这个问题应该用learnr
标记,但我没有创建新标记的权限。
【问题讨论】:
【参考方案1】:@jjallaire 在Github 上回答了我的问题:
很遗憾,本地存储的作品不使用该 ID。本地教程 可以在以下位置找到存储:
file.path(rappdirs::user_data_dir(), "R", "learnr", "tutorial", "storage")
【讨论】:
【参考方案2】:这并没有回答确切的问题,但是如果想要在每次更改教程后重新开始(查看教程中的新更改),一种方法是在目录中添加一个名为 restart.txt
的文件教程的.Rmd
文件在哪里,每次更改教程后,在加载教程之前,需要运行touch restart.txt
来更新restart.txt
的修改时间。这告诉shiny
服务器重新开始。
【讨论】:
以上是关于学习者:如何通过更改ID和版本使本地存储无效?的主要内容,如果未能解决你的问题,请参考以下文章
如何在本地存储 javascript 函数所做的 css 更改?