Clasp 无法创建新的 Apps 脚本
Clasp can not create a new Apps Script
我用这个终端命令克隆了一个应用脚本
clasp clone <scriptId>
到此文件夹:
.../desktop/AppsScriptProjects
并且文件已下载到文件夹
.../desktop/AppsScriptProjects/AppsScriptName
但是现在,我想创建一个新的 Apps 脚本。
我导航回:
.../desktop/AppsScriptProjects
并执行:
clasp create "Test Project"
但我得到了错误:
Nested clasp projects are not supported.
我做错了什么?
Version Info:
OS: Mac Os (Mojave)
Node: v10.15.3
Clasp: 2.1.0
当我 运行 ls -a
在我打算创建一个新的应用程序脚本的目录上时,我得到的是:
. ..
问题是 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
文件,向 clasp 表明这是一个与 clasp 相关的存储库,并且对应于单个 Apps 脚本项目。在您的情况下,您具有以下目录结构:
AppsScriptProjects/
`--- AppsScriptName/
|--- .clasp.json
|--- appsscript.json
|--- myscript.js
...
当您尝试从 AppsScriptProjects/
调用 clasp create "Test Project"
时,您是在告诉 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
)是其中的目录你调用了 clasp
.
我用这个终端命令克隆了一个应用脚本
clasp clone <scriptId>
到此文件夹:
.../desktop/AppsScriptProjects
并且文件已下载到文件夹
.../desktop/AppsScriptProjects/AppsScriptName
但是现在,我想创建一个新的 Apps 脚本。
我导航回:
.../desktop/AppsScriptProjects
并执行:
clasp create "Test Project"
但我得到了错误:
Nested clasp projects are not supported.
我做错了什么?
Version Info:
OS: Mac Os (Mojave)
Node: v10.15.3
Clasp: 2.1.0
当我 运行 ls -a
在我打算创建一个新的应用程序脚本的目录上时,我得到的是:
. ..
问题是 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
文件,向 clasp 表明这是一个与 clasp 相关的存储库,并且对应于单个 Apps 脚本项目。在您的情况下,您具有以下目录结构:
AppsScriptProjects/
`--- AppsScriptName/
|--- .clasp.json
|--- appsscript.json
|--- myscript.js
...
当您尝试从 AppsScriptProjects/
调用 clasp create "Test Project"
时,您是在告诉 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
)是其中的目录你调用了 clasp
.