.net的网上商城的开源项目nopCommerce的环境搭建过程中,遇到了点问题,记录如下。
或者
安装失败: The NpgsqlDbType 'Citext' isn't present in your database. You may need to install an extension or upgrade to a newer version.
原因是没有安装postgresql的“citext”扩展
解决方案如下:
SELECT e.oid,e.extname,n.nspname from pg\_extension e JOIN pg\_namespace n on e.extnamespace = n.oid ;
执行结果如下:
postgres=#
oid | extname | nspname
-------+---------+------------
13538 | plpgsql | pg_catalog
16388 | citext | public
(2 rows)
如果没有安装citext扩展的话,应该不会出现上述中的第二条记录。
CREATE EXTENSION IF NOT EXISTS citext ;
ALTER EXTENSION citext UPDATE TO '1.6';
备注:
cd /usr/share/postgresql/15/extension
ls
同目录下,放着DockerFile和docker-compose.yml文件,然后在该目录下执行:
docker build .
docker-compose up -d
其中 docker-compose的内容如下:
version: "3.4"
services:
nopcommerce_web:
build: .
container_name: nopcommerce
ports:
- "80:80"
depends_on:
- nopcommerce_database
nopcommerce_database:
image: "postgres:latest"
container_name: "postgre_db"
volumes:
- "nopcommerce_data:/var/lib/postgresql/data"
restart: "always"
ports:
- "5432:5432"
environment:
POSTGRES_HOST_AUTH_METHOD: "trust"
POSTGRES_USER: "postgres"
POSTGRES_DB: "postgres"
POSTGRES_PASSWORD: "nopCommerce_db_password"
volumes:
nopcommerce_data:
安装失败: An exception was thrown while activating Nop.Data.Migrations.MigrationManager -> λ:System.Lazy`1[FluentMigrator.Runner.IVersionLoader, FluentMigrator.Runner, Version=3.3.2.0, Culture=neutral, PublicKeyToken=aacfc7de5acabf05] -> λ:FluentMigrator.Runner.IVersionLoader.
或者
安装失败: Sequence contains more than one element
大概原因是第一次失败,第二次再运行的时候,如果勾选了【插入测试数据】的话,会出现这个问题。
索性将db的docker容器删掉,重新来一遍。
来一遍之前,如果【App_Data】目录下,存在【appsettings.json】文件的话,要删掉。
成功以后,界面应该是这个样子。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。