Застежка не может создать новый скрипт приложения - PullRequest
0 голосов
/ 30 марта 2019

Я клонировал скрипт приложения с этой терминальной командой

clasp clone <scriptId>

в эту папку:

... / desktop / AppsScriptProjects

и файлы были загружены в папку

... / desktop / AppsScriptProjects / AppsScriptName

но теперь я хочу создать новый скрипт скрипта Apps.

Я вернулся к:

... / desktop / AppsScriptProjects

и выполнил:

clasp create "Test Project"

, но получилошибка:

Не поддерживаются вложенные проекты с застежками.

Что я делаю не так?

Информация о версии:

ОС: Mac Os (Mojave)

Узел: v10.15.3

Застежка: 2.1.0

Когда я запускаю ls -a в каталоге, который янамереваюсь создать новый скрипт приложения, и все, что я получил, было:

...

1 Ответ

1 голос
/ 30 марта 2019

Проблема в том, что clasp create <words> создает проект в текущем каталоге с именем проекта сценария <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, указывающий на сжатие, что это застежкасвязанный репо и соответствует одному проекту скрипта Apps.В вашем случае вы имеете следующую структуру каталогов:

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

Solution

Вместо описанных выше подходов создайте & 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.

...