Every statement that creates a code object (e.g. CREATE PROCEDURE, CREATE FUNCTION, CREATE PACKAGE, CREATE TYPE) needs to have a slash ("/") following it in order to execute. Normal SQL statements will execute if terminated with a semicolon, but since lines of PL/SQL code always end with a semicolon, this can't be used as an indicator to execute for code objects.
From your own followup, it sounds like you have multiple such statements in the script, and just entered the slash after the final one. This causes SQLPlus to try to execute the entire text of the script as a single statement, which is likely to fail.
You want something like:
CREATE TYPE my_type_1
... your code here ...
/
CREATE TYPE my_type_2
... your code here ...
/