windows 上可以安装 Datomic dev-local 吗?
Can Datomic dev-local be installed on windows?
我正在尝试在 Windows 10 计算机上安装 Datomic,然后是 official instructions。
我downloaded并按照说明解压开发工具。
但是,我不能 运行 安装脚本,因为它是一个 bash 脚本。
我打开脚本发现它需要 maven,所以我安装了 maven 并尝试手动 运行 命令。
echo 'Installing: com.cognitect/rebl {:mvn/version "0.9.242"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=rebl-0.9.242/rebl-0.9.242.jar
echo 'Installing: com.datomic/dev-local {:mvn/version "0.9.232"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=dev-local-0.9.232/dev-local-0.9.232.jar
起初这个错误是
The goal you specified requires a project to execute but there is no POM in this directory
所以我想出了如何创建一个 maven pom.xml。
然后报错
[ERROR] The specified file 'C:\workspaces\clj-recipe\rebl-0' not exists
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file (default-cli) on project clj-recipe: The specified file 'C:\workspaces\clj-recipe\rebl-0' not exists
dev-local 不适合 windows 吗?
更新
我确实得到了 运行 的 maven 脚本。我在开发工具目录中创建了自己的安装。ps1,它保持路径相同,并引用了文件路径。
# expects to be run from the project (pom.xml) directory, but in a script file in the same directory as the original install script
echo 'Installing: com.cognitect/rebl {:mvn/version "0.9.242"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile="rebl-0.9.242/rebl-0.9.242.jar"
echo 'Installing: com.datomic/dev-local {:mvn/version "0.9.232"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile="dev-local-0.9.232/dev-local-0.9.232.jar"
不过,我仍然无法将开发本地化到 运行。 pom.xml 似乎没有变化。
我为当前的 lein 项目启动了一个 repl,运行
(require '[datomic.client.api :as d])
(def client (d/client {:server-type :dev-local
:system "dev"}))
收到错误 No such namespace: d
。
我的猜测是我不明白 deps.edn 是如何工作的...现在我在 C:/Users/[username here]/documents/.clojure/deps.edn
下有一个 deps.edn
{
:mvn/repos {"cognitect-dev-tools"
{:url "https://dev-tools.cognitect.com/maven/releases/"}}
:deps
{com.datomic/dev-local {:mvn/version "0.9.225"}}
}
这里有两个关键问题
- leiningen 不需要安装脚本(也不是为 windows 编写的)
- 如果您想使用基于 maven 的方法,请使用安装脚本。请注意,您需要安装 maven。
- 可以通过如上所示更改 windows 的安装脚本(引用路径,删除 cd,使其成为 ps1 文件)
- deps.edn、maven 和 leiningen 路径不兼容。我必须使用 leiningen 配置依赖项才能在基于 lein 的项目中使用它
lein 的配置相当简单
- 添加存储库配置部分
- 添加包依赖
(defproject ;;...
:dependencies [
;;...
[com.datomic/dev-local "0.9.225"]
]
:repositories [
["cognitect-dev-tools" {:url "https://dev-tools.cognitect.com/maven/releases/"
:username :env/datomic_username
:password :env/datomic_password}]]
;;...
)
请注意,必须向 lein 项目提供凭据。这可以用
来完成
- 环境变量如上图(指定名称为
:env/var-name-here
)
- 或using an encrypted password field
- or use a profile
我正在尝试在 Windows 10 计算机上安装 Datomic,然后是 official instructions。
我downloaded并按照说明解压开发工具。
但是,我不能 运行 安装脚本,因为它是一个 bash 脚本。
我打开脚本发现它需要 maven,所以我安装了 maven 并尝试手动 运行 命令。
echo 'Installing: com.cognitect/rebl {:mvn/version "0.9.242"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=rebl-0.9.242/rebl-0.9.242.jar
echo 'Installing: com.datomic/dev-local {:mvn/version "0.9.232"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=dev-local-0.9.232/dev-local-0.9.232.jar
起初这个错误是
The goal you specified requires a project to execute but there is no POM in this directory
所以我想出了如何创建一个 maven pom.xml。
然后报错
[ERROR] The specified file 'C:\workspaces\clj-recipe\rebl-0' not exists
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file (default-cli) on project clj-recipe: The specified file 'C:\workspaces\clj-recipe\rebl-0' not exists
dev-local 不适合 windows 吗?
更新
我确实得到了 运行 的 maven 脚本。我在开发工具目录中创建了自己的安装。ps1,它保持路径相同,并引用了文件路径。
# expects to be run from the project (pom.xml) directory, but in a script file in the same directory as the original install script
echo 'Installing: com.cognitect/rebl {:mvn/version "0.9.242"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile="rebl-0.9.242/rebl-0.9.242.jar"
echo 'Installing: com.datomic/dev-local {:mvn/version "0.9.232"}'
mvn -q org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile="dev-local-0.9.232/dev-local-0.9.232.jar"
不过,我仍然无法将开发本地化到 运行。 pom.xml 似乎没有变化。 我为当前的 lein 项目启动了一个 repl,运行
(require '[datomic.client.api :as d])
(def client (d/client {:server-type :dev-local
:system "dev"}))
收到错误 No such namespace: d
。
我的猜测是我不明白 deps.edn 是如何工作的...现在我在 C:/Users/[username here]/documents/.clojure/deps.edn
{
:mvn/repos {"cognitect-dev-tools"
{:url "https://dev-tools.cognitect.com/maven/releases/"}}
:deps
{com.datomic/dev-local {:mvn/version "0.9.225"}}
}
这里有两个关键问题
- leiningen 不需要安装脚本(也不是为 windows 编写的)
- 如果您想使用基于 maven 的方法,请使用安装脚本。请注意,您需要安装 maven。
- 可以通过如上所示更改 windows 的安装脚本(引用路径,删除 cd,使其成为 ps1 文件)
- deps.edn、maven 和 leiningen 路径不兼容。我必须使用 leiningen 配置依赖项才能在基于 lein 的项目中使用它
lein 的配置相当简单
- 添加存储库配置部分
- 添加包依赖
(defproject ;;...
:dependencies [
;;...
[com.datomic/dev-local "0.9.225"]
]
:repositories [
["cognitect-dev-tools" {:url "https://dev-tools.cognitect.com/maven/releases/"
:username :env/datomic_username
:password :env/datomic_password}]]
;;...
)
请注意,必须向 lein 项目提供凭据。这可以用
来完成- 环境变量如上图(指定名称为
:env/var-name-here
) - 或using an encrypted password field
- or use a profile