我已经根据github页面构建并安装了“apoc”程序(在suerver停止后,将apoc-1.0.0-SNAPSHOT.jar文件复制到plugins目录中,然后我再次启动服务器)但是当我尝试调用任何过程时,我收到一条错误消息。
例如:
$ call apoc.help('search') ;
“没有为此注册名为
的程序 数据库实例。请确保您拼写了程序名称 正确并且该程序已正确部署。”apoc.help
我在 MacO 和 Windows 安装上都遇到过这个问题。我正在运行 Neo4j 3.0.0 作为服务器(本地端口 7474)。
我是否错过了任何设置?
谢谢, 巴巴克。
我必须手动将此行添加到 .neo4j.conf 文件中:
dbms.directories.plugins=/Applications/Neo4j\ Community\ Edition.app/Contents/Resources/app/plugins
(假设这是您放置 APOC jar 的位置),然后重新启动服务器。
(这有点令人困惑,因为管理应用程序中有一个选项可以配置此路径,但实际上似乎并未在服务器上启用插件。)
对于 Windows 用户,它应该如下所示:
dbms.directories.plugins=c:/Program\ Files/Neo4j\ CE\ 3.0.0/plugins
假设您已在
Neo4j CE 3.0.0
安装了 Neo4j。进口
现在(2023)程序似乎有所不同。
我必须执行以下操作的一些组合,并于 2023 年 6 月更新:
# Create the `neo4j.conf` file and specify where plugins are
echo "server.directories.plugins=~/neo4j/plugins" > ~/neo4j/conf/neo4j.conf
# Create that plugins dir and download the latest APOC plugin file
mkdir ~/neo4j/plugins
( cd ~/neo4j/plugins && curl -O -L https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/3.5.0.17/apoc-3.5.0.17-all.jar)
# Re-start the docker container
docker-compose up -d
docker-compose 供参考:
services:
neo4j:
image: neo4j:latest
container_name: 'neo4j'
volumes:
- '$HOME/neo4j/data:/data'
- '$HOME/neo4j/conf/:/conf/'
- '$HOME/neo4j/plugins:/plugins'
ports:
- 7474:7474
- 7687:7687
environment:
- NEO4J_PLUGINS='["apoc"]'
restart: on-failure
networks:
- neo4j_network
command: neo4j
networks:
neo4j_network:
driver: bridge
volumes:
dgraph:
我看到这个错误是因为 apoc-extend 插件已启用,但 apoc 未启用,而
apoc.help
是后者的一部分,而不是前一个。
这就是我启动 neo4j 并提供
apoc.help
的方式(pwsh):
docker run --name neo4j-apoc --rm -v $neo4jDataDir`:/data -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/qwertyuiop -e 'NEO4J_PLUGINS=["apoc","apoc-extended"]' -d neo4j
这就是它在 Bash 中运行的方式:
docker run \
-p 7474:7474 -p 7687:7687 \
--name neo4j-apoc \
-e NEO4J_apoc_export_file_enabled=true \
-e NEO4J_apoc_import_file_enabled=true \
-e NEO4J_apoc_import_file_use__neo4j__config=true \
-e NEO4J_PLUGINS=\[\"apoc\",\"apoc-extended\"\] \
neo4j:5.13.0