我已使用此终端命令克隆了一个应用脚本
clasp clone <scriptId>
到此文件夹:
... / desktop / AppsScriptProjects
文件已下载到文件夹
... / desktop / AppsScriptProjects / AppsScriptName
但是现在,我想创建一个新的Apps脚本。
我导航回:
... / desktop / AppsScriptProjects
并执行:
clasp create "Test Project"
但是我得到了错误:
不支持嵌套的项目。
我在做什么错了?
版本信息:
OS:Mac OS(Mojave)
节点:v10.15.3
扣:2.1.0
当我在要创建新应用脚本的目录上运行ls -a
时,我得到的只是:
。 ..
答案 0 :(得分:1)
问题是clasp create <words>
creates a project in the current directory,脚本项目名称为<words>
,除appsscript.json
和.clasp.json
之外没有文件。
即使给定了--rootDir <folder name>
参数,也会在当前目录中创建项目。。这与clasp clone
的行为相同,因为克隆是执行到当前目录。
所以:
$ cd ~/clasp_projects
$ clasp create "project 1"
Clone which script? (Use arrow keys)
Clone which script? standalone
Created new standalone script <...>
$ ls -a
./ ../ .clasp.json appsscript.json
如果您还提供了根目录:
$ cd ~/clasp_projects
$ mkdir "project 1"
$ clasp create "project 1" --rootDir "project 1"
Clone which script? (Use arrow keys)
Clone which script? standalone
Created new standalone script <...>
$ ls -a
./ ../ .clasp.json appsscript.json 'project 1'/
$ ls -a "project 1"
./ ../
没什么不同。
在这两种情况下,您的当前目录现在都将具有一个.clasp.json
文件,指示clap这是与clasp相关的回购并且对应于单个Apps Script项目。就您而言,您具有以下目录结构:
AppsScriptProjects/
`--- AppsScriptName/
|--- .clasp.json
|--- appsscript.json
|--- myscript.js
...
当您尝试从clasp create "Test Project"
调用AppsScriptProjects/
时,您正在告诉clasp创建此结构:
AppsScriptProjects/
|--- AppsScriptName/
| |--- .clasp.json
| |--- appsscript.json
| |--- myscript.js
| ...
|--- .clasp.json
`--- appsscript.json
代替上述方法,将&cd创建到"Test Project/"
:
$ cd AppsScriptProjects
$ mkdir "Test Project"
$ cd "Test Project"
$ clasp create
...
然后将产生
AppsScriptProjects/
|--- AppsScriptName/
| |--- .clasp.json
| |--- appsscript.json
| |--- myscript.js
| ...
`--- Test Project/
|--- .clasp.json
`--- appsscript.json
简而言之:clasp
适用于当前目录。它不会在子目录中创建项目。虽然它可以在子目录中创建项目文件,但是项目目录(您可以在其中找到.clasp.json
)是您调用{{1}的目录}。