如何使用 dub 从本地文件系统导入包?
How do I import a package from the local filesystem using dub?
我有一个使用配音的项目。我想使用供应到我的项目中的外部文件作为依赖项。我该怎么做呢?我不想把它放在我项目的 source/
目录中。我不想将其添加为配音管理的依赖项,但我确实希望能够 import xxx
.
包是这个:https://github.com/gianm/d-json,它不使用 dub 也没有 dub.json 项目文件。
- 通过在根目录中添加一个
dub.json
文件将包转换为 dub,其内容如下:{"name": "jsonx"}
。创建一个 source
文件夹,并将 jsonx.d
移动到其中。
- 将文件夹放在任何你想要的地方,例如在您自己的项目旁边的顶层。
- 将以下依赖项添加到您的
dub.json
:
"dependencies": {
...
"jsonx": {"path": "../jsonx/"}
}
- 您现在可以使用
import jsonx;
在任何地方导入包。
总而言之,如果您的应用位于名为 app
的目录中,您的树应该如下所示:
.
├── app
│ ├── dub.json
│ └── source
│ └── myapp.d
└── jsonx
├── dub.json
└── source
└── jsonx.d
替代方法:创建一个 third_party
目录,将文件放在那里,然后将其添加到配音配置中的 sourcePaths
(您可能会指定两个 ["third_party", "source"]
,因为如果您不列出默认值 source
,将被覆盖。
我有一个使用配音的项目。我想使用供应到我的项目中的外部文件作为依赖项。我该怎么做呢?我不想把它放在我项目的 source/
目录中。我不想将其添加为配音管理的依赖项,但我确实希望能够 import xxx
.
包是这个:https://github.com/gianm/d-json,它不使用 dub 也没有 dub.json 项目文件。
- 通过在根目录中添加一个
dub.json
文件将包转换为 dub,其内容如下:{"name": "jsonx"}
。创建一个source
文件夹,并将jsonx.d
移动到其中。 - 将文件夹放在任何你想要的地方,例如在您自己的项目旁边的顶层。
- 将以下依赖项添加到您的
dub.json
:
"dependencies": {
...
"jsonx": {"path": "../jsonx/"}
}
- 您现在可以使用
import jsonx;
在任何地方导入包。
总而言之,如果您的应用位于名为 app
的目录中,您的树应该如下所示:
.
├── app
│ ├── dub.json
│ └── source
│ └── myapp.d
└── jsonx
├── dub.json
└── source
└── jsonx.d
替代方法:创建一个 third_party
目录,将文件放在那里,然后将其添加到配音配置中的 sourcePaths
(您可能会指定两个 ["third_party", "source"]
,因为如果您不列出默认值 source
,将被覆盖。