You've two ways to make that.
1. Wrap your Widget Text in a Container, and set a width for him, like:
     final mediaQuery = MediaQuery.of(context);
    
     return Container (
      padding: const EdgeInsets.all(10.0),
      width: mediaQuery.size.width * 0.05,
      child: new Column (
        children: <Widget>[
          new Text ("Long text without explicit line breaks, but still long.", textAlign: TextAlign.left)
        ],
      ),
    );
OBS: I used mediaQuery for reponsivity, but you can set a fix value
2. You can wrap with the Flexible widget:
But Flexible needs to be used with Row, Column or Flex widget, or a exception with be raised.
       new Container(
           child: Row(
             children: <Widget>[
                Flexible(
                   child: new Text("Long text without explicit line breaks, but still long."),
                    ),
                ],
            ),
        );